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使用例子—创建一个客户端界面的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did47542