免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 953 | 回复: 0
打印 上一主题 下一主题

诺顿企业版界面 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-07 23:36 |只看该作者 |倒序浏览


import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.awt.event.*;
/**
* @author lisheng
*
*/
//symantec Antivirus 界面部分实现
public class MainFrame extends JFrame implements TreeSelectionListener
{
    //树组件
    JTree tree;
    DefaultMutableTreeNode root,node1,node2,node11,node12,node13,node14,node15,node21,node22,node23; //树结点
    //菜单组件
    JMenuBar jmb = new JMenuBar();
    JMenu menu1 = new JMenu("文件");
    JMenu menu2 = new JMenu("编辑");
    JMenu menu3 = new JMenu("查看");
    JMenu menu4 = new JMenu("扫描");
    JMenu menu5 = new JMenu("配置");
    JMenu menu6 = new JMenu("历史记录");
    JMenu menu7 = new JMenu("帮助");
    JMenuItem mitem1 = new JMenuItem("配置历史记录");
    JMenuItem mitem2 = new JMenuItem("调度更新");
    JMenuItem mitem3 = new JMenuItem("Live Update");
    JMenuItem mitem4 = new JMenuItem("风险列表");
    JMenuItem mitem5 = new JMenuItem("卸载服务");
    JMenuItem mitem6 = new JMenuItem("退出");
   
    JPanel mp=new JPanel();
    JSplitPane jsp;
   
    //卡片布局
    CardLayout card = new CardLayout();
    JPanel jp1 = new JPanel(); //实际中应该定义一个继承JPanel类来实现
    JPanel jp2 = new JPanel();
    JPanel jp3 = new JPanel();
   
    public MainFrame()
    {
        //构造树
        tree = new JTree(this.getTreeModel());
        //构造拆分窗格
        jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JScrollPane(tree),mp);
        jsp.setDividerLocation(150);
        
        //给树添加监听器
        tree.addTreeSelectionListener(this);
        
        
        this.initMenu();//初始化菜单
        this.setJMenuBar(jmb); //添加菜单
        this.initCard();
        
        this.add(jsp);
        this.setSize(600,500);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
   
    private void initMenu()
    {
        //建立菜单
        jmb.add(menu1);
        jmb.add(menu2);
        jmb.add(menu3);
        jmb.add(menu4);
        jmb.add(menu5);
        jmb.add(menu6);
        jmb.add(menu7);
        menu1.add(mitem1);
        menu1.add(mitem2);
        menu1.add(mitem3);
        menu1.add(mitem4);
        menu1.addSeparator();
        menu1.add(mitem5);
        menu1.addSeparator();
        menu1.add(mitem6);
    }
   
    private void initCard()
    {
        //构造卡片
        mp.setLayout(card);
        mp.add("root",jp1); //根节点对应的页面
        mp.add("node1",jp2);//非叶子节点对应的页面
        mp.add("node11",jp3);//叶子节点对应的页面
    }
   
    public DefaultTreeModel getTreeModel()
    {
        //建立树模型对象
        root = new DefaultMutableTreeNode("Symantec AntiVirus");
        node1 = new DefaultMutableTreeNode("查看");
        node2 = new DefaultMutableTreeNode("扫描");
        node11 = new DefaultMutableTreeNode("自动防护扫描统计");
        node12 = new DefaultMutableTreeNode("调度扫描");
        node13 = new DefaultMutableTreeNode("隔离区");
        node14 = new DefaultMutableTreeNode("备份项目");
        node15 = new DefaultMutableTreeNode("修复的项目");
        node21 = new DefaultMutableTreeNode("自定义扫描");
        node22 = new DefaultMutableTreeNode("快速扫描");
        node23 = new DefaultMutableTreeNode("全面扫描");
        
        //给树添加结点
        root.add(node1);
        root.add(node2);
        node1.add(node11);
        node1.add(node12);
        node1.add(node13);
        node1.add(node14);
        node1.add(node15);
        node2.add(node21);
        node2.add(node22);
        node2.add(node23);
        
        DefaultTreeModel model = new DefaultTreeModel(root);
        return model;
    }
   
    public void valueChanged(TreeSelectionEvent e)
    {
        DefaultMutableTreeNode node = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
        if(node==root)
        {
            card.show(mp, "root");//显示根节点对应页面
            
        }
        else if(node==node1)
        {
            card.show(mp, "node1");
        }
        else if(node==node11)
        {
            card.show(mp, "node11");
        }
    }
   
    public static void main(String[] args)
    {
        new MainFrame();
    }
   
}
效果图如下





本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/62780/showart_491628.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP