好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

JTREE使用例子—创建一个客户端界面

JTREE使用例子—创建一个客户端界面

以下代码主要创建一个教师客户端界面。

界面图片:

 /**  利用 JTree 类,你可以显示等级体系的数据。一个 JTree 对象并没有包含实际的数据;它只是提供了数据的一个视图。  */ 
 import   java.awt.Dimension;
  import   java.awt.Image;
  import   java.awt.Toolkit;

  import   javax.swing.ImageIcon;
  import   javax.swing.JFrame;
  import   javax.swing.JPanel;
  import   javax.swing.JScrollPane;
  import   javax.swing.JSplitPane;
  import   javax.swing.JTree;
  import   javax.swing.tree.DefaultMutableTreeNode;
  import   javax.swing.tree.DefaultTreeModel;

  //  Frame 是带有标题和边界的顶层窗口。 
 public   class  TreeDemo1  extends   JFrame{
    
      private  DefaultMutableTreeNode dmtnRoot =                      //  创建根节点 
             new  DefaultMutableTreeNode( new  MyNode("操作选项","0" ));
      private  DefaultMutableTreeNode dmtn1 =                         //  创建系统选项节点 
             new  DefaultMutableTreeNode( new  MyNode("系统选项","1" ));
      private  DefaultMutableTreeNode dmtn2 =                         //  创建学生信息管理节点 
             new  DefaultMutableTreeNode( new  MyNode("学生信息管理","2" ));
      private  DefaultMutableTreeNode dmtn3 =                         //  创建课程管理节点 
             new  DefaultMutableTreeNode( new  MyNode("课程管理","3" ));
      private  DefaultMutableTreeNode dmtn4 =                         //  创建班级设置节点 
             new  DefaultMutableTreeNode( new  MyNode("班级设置","4" ));
      private  DefaultMutableTreeNode dmtn11 =                         //  创建退出节点 
             new  DefaultMutableTreeNode( new  MyNode("退出","11" ));
      private  DefaultMutableTreeNode dmtn13 =                         //  创建密码修改节点 
             new  DefaultMutableTreeNode( new  MyNode("密码修改","13" ));
      private  DefaultMutableTreeNode dmtn21 =                         //  创建新生报到节点 
             new  DefaultMutableTreeNode( new  MyNode("新生报到","21" ));
      private  DefaultMutableTreeNode dmtn22 =                         //  创建学生信息查询节点 
             new  DefaultMutableTreeNode( new  MyNode("学生信息查询","22" ));
      private  DefaultMutableTreeNode dmtn221 =                     //  创建基本信息查询节点 
             new  DefaultMutableTreeNode( new  MyNode("基本信息查询","221" ));
      private  DefaultMutableTreeNode dmtn222 =                     //  创建成绩查询节点 
             new  DefaultMutableTreeNode( new  MyNode("成绩查询","222" ));
      private  DefaultMutableTreeNode dmtn31 =                     //  创建开课选项设置节点 
             new  DefaultMutableTreeNode( new  MyNode("开课选项设置","31" ));
      private  DefaultMutableTreeNode dmtn32 =                     //  创建课程成绩录入节点 
             new  DefaultMutableTreeNode( new  MyNode("课程成绩录入","32" ));
      private  DefaultMutableTreeNode dmtn34 =                     //  创建添加课程节点 
             new  DefaultMutableTreeNode( new  MyNode("添加课程","34" ));
      private  DefaultMutableTreeNode dmtn42 =                     //  创建增加班级节点 
             new  DefaultMutableTreeNode( new  MyNode("增加班级","42" ));
      private  DefaultTreeModel dtm =  new  DefaultTreeModel(dmtnRoot);     //  创建根节点 
     private  JTree jt =  new  JTree(dtm);                         //  创建树状列表控件 
     private  JScrollPane jspz =  new  JScrollPane(jt);             //  创建滚动窗口 
     /**  这段代码创建了DefaultMutableTreeNode 实例作为的节点。
     * 创建完节点后,通过指定刚才创建的根节点为JTree 构造函数的参数,创建一棵树。
     * 最后,将树放到滚动面板中,这是一个通常的策略,因为需要显示完一个树,而展开树需要另外比较大的空间。   */ 
     private  JPanel jpy =  new  JPanel();                         //  创建面板 
     private  JSplitPane jsp1 =                                  //  创建分割窗口 
             new   JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jspz,jpy);
      //  swing分割窗口控件JSplitPane,用来将窗口分割成两个部分。 
    
     public  TreeDemo1(){         //  构造器 
         this .initialTree();                                     //  初始化树状列表控 
         this .initialFrame();                                 //  初始化主窗体 
     }
    
      public   void   initialTree(){
          //  将各个节点添加到树根节点 
         dmtnRoot.add(dmtn1);dmtnRoot.add(dmtn2);            
        dmtnRoot.add(dmtn3);dmtnRoot.add(dmtn4);
        dmtn1.add(dmtn11);dmtn1.add(dmtn13);
        dmtn2.add(dmtn21);dmtn2.add(dmtn22);
        dmtn22.add(dmtn221);dmtn22.add(dmtn222);
        dmtn3.add(dmtn31);dmtn3.add(dmtn32);dmtn3.add(dmtn34);
        dmtn4.add(dmtn42);
    }
    
      public   void  initialFrame(){                                 //  设置窗体的标题、大小及其可见性
          //  设置分割窗体的位置并添加到主窗体 
         this  .add(jsp1);                
        jsp1.setDividerLocation( 200 );
        jsp1.setDividerSize( 4);                                 //  设置分割窗体的宽度 
        Image image =  new  ImageIcon("ico.gif").getImage();     //  加载窗体图标对象
          //  设置窗体的图标和标题 
         this  .setIconImage(image);
          this .setTitle("教师客户端" );
        Dimension screenSize  =                                  //  得到屏幕的Dimension对象 
                 Toolkit.getDefaultToolkit().getScreenSize();
          int  centerX = screenSize.width/2;                     //  计算屏幕宽度中间像素 
         int  centerY = screenSize.height/2;                     //  计算屏幕高度中间像素 
         int  w = 900;                                         //  本窗体宽度 
         int  h = 650;                                         //  本窗体高度 
         this .setBounds(centerX-w/2,centerY-h/2,w,h);         //  设置窗体出现在屏幕中央 
         this .setVisible( true );                                 //  设置窗体可见性 
         this .setExtendedState(JFrame.MAXIMIZED_BOTH);         //  窗体全屏 
         
    }
    
    
      class  MyNode{                                         //  自定义的初始化树节点的数据对象的类 
         private  String values;                             //  声明values属性     
         private  String id;                                 //  用于确定节点的id属性     
         public  MyNode(String values,String id){             //  构造器 
             this .values = values;                         //  设置values的值 
             this .id = id;                                 //  设置id的值 
         }
          public  String toString(){                         //  重写toString方法 
             return   this  .values;
        }
          public  String getId(){                             //  Id的get方法 
             return   this  .id;
        }
    }
      /**  DefaultMutableTreeNode 构造函数的参数是一个用户自定义的类对象,
     * 它包含或指向了关联树节点的数据。这个用户对象可以是一个字符串,或者是一个自定义的类。
     * 如果它实现了一个自定义对象,你应该要重新实现覆盖他的 toString 方法,
     * 这样他才能返回对应字符串作为节点显示的字符串。
     * JTree 默认情况下,每个节点都是用 toString 的返回值作为显示。
     * 所以,让 toString 返回一些有意义的值是很重要的。  */ 
    
    
     public   static   void   main(String args[]){
          new   TreeDemo1();
    }
}

  /**  你可以调用 Jtree 的构造函数创建一棵树,指定一个实现了 TreeNode 的类作为参数。
 * 你应该尽量把这棵树放到一个滚动面板中( scroll pane ),
 * 这样树就不会占用太大的空间。
 *   */ 

 

分类:  Java图形界面

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于JTREE使用例子—创建一个客户端界面的详细内容...

  阅读:40次