1 import javax.swing.*; 2 import javax.swing.event.*; 3 import javax.swing.tree.*; 4 5 public class Root extends JFrame 6 { 7 //创建节点数组 8 DefaultMutableTreeNode[] dmtn={ 9 new DefaultMutableTreeNode(new NodeValue("图书馆管理系统")), 10 new DefaultMutableTreeNode(new NodeValue("学生用户管理")), 11 new DefaultMutableTreeNode(new NodeValue("图书管理")), 12 new DefaultMutableTreeNode(new NodeValue("查询图书")), 13 new DefaultMutableTreeNode(new NodeValue("借阅预约图书")), 14 new DefaultMutableTreeNode(new NodeValue("归还挂失图书")), 15 new DefaultMutableTreeNode(new NodeValue("交纳罚款")), 16 new DefaultMutableTreeNode(new NodeValue("管理员管理")), 17 new DefaultMutableTreeNode(new NodeValue("退出")) 18 }; 19 //创建树模型,指定根节点为“学生管理系统” 20 DefaultTreeModel dtm = new DefaultTreeModel(dmtn[0]); 21 JTree jt = new JTree(dtm);//创建包含dtm树模型的JTree对象 22 JScrollPane jsp=new JScrollPane(jt);//为JTree创建滚动窗体 23 24 private JSplitPane jsplr=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true);//创建分割窗体对象 25 private JPanel jp=new JPanel();//创建JPanel对象 26 27 public Root() { 28 this.addTreeListener();//为树节点注册事件监听器 29 for (int i=1;i<9;i++) 30 {//向根节点添加子节点 31 dtm.insertNodeInto(dmtn[i],dmtn[0],i-1); 32 } 33 jt.setEditable(false);//设置该树中节点是可编辑的 34 this.add(jsplr);//将包含树的滚动窗口添加进窗体 35 jsplr.setLeftComponent(jt);//将包含树的滚动窗口添加进左边的子窗口 36 jp.setBounds(200,50,600,500);//为jp设置大小位置并添加进右边的子窗口 37 jsplr.setRightComponent(jp); 38 jsplr.setDividerLocation(200);//设置分隔条的初始位置 39 jsplr.setDividerSize(4);//设置分隔条的宽度 40 //设置窗体的关闭动作,标题,大小,位置及可见性 41 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 42 //设置窗体首次出现的大小和位置--自动居中 43 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 44 int centerX = screenSize.width/2; 45 int centerY = screenSize.height/2; 46 int w=600;//本窗体宽度 47 int h=400;//本窗体高度 48 this.setBounds(centerX-w/2,centerY-h/2-10,w,h);//设置窗体出现在屏幕中央 49 50 // this.setExtendedState(JFrame.MAXIMIZED_BOTH);//窗体全屏 51 52 this.setVisible(true);//设置窗体可见 53 jt.setShowsRootHandles(true);//设置显示根节点的控制图标 54 } 55 56 public static void main(String[] args) { 57 // TODO Auto-generated method stub 58 new Root(); 59 } 60 61