🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
Root.java ~~~ package zyw.admin; import zyw.model.Manager; import zyw.tools.DataBase; import javax.swing.*; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import java.awt.*; public class Root extends JFrame { //创建节点数组 DefaultMutableTreeNode[] dmtn= {new DefaultMutableTreeNode(new NodeValue("图书馆管理系统")), new DefaultMutableTreeNode(new NodeValue("学生用户管理")), new DefaultMutableTreeNode(new NodeValue("图书管理")), new DefaultMutableTreeNode(new NodeValue("查询图书")), new DefaultMutableTreeNode(new NodeValue("借阅预约图书")), new DefaultMutableTreeNode(new NodeValue("归还挂失图书")), new DefaultMutableTreeNode(new NodeValue("交纳罚款")), new DefaultMutableTreeNode(new NodeValue("管理员管理")), new DefaultMutableTreeNode(new NodeValue("退出"))}; DefaultTreeModel dtm=new DefaultTreeModel(dmtn[0]);//创建树模型,指定根节点为"学生管理系统" JTree jt=new JTree(dtm);//创建包含dtm树模型的JTree对象 JScrollPane jsp=new JScrollPane(jt);//为JTree创建滚动窗体 private JSplitPane jsplr=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true);//创建分割窗体对象 private JPanel jp=new JPanel();//创建JPanel对象 Image image=new ImageIcon("tsgl.jpg").getImage(); ImageIcon ii = new ImageIcon(image); private JLabel jlRoot=new JLabel(ii); private Manager mg;//登陆管理员名 String mgNo;//管理员ID CardLayout cl=new CardLayout();//获取卡片布局管理器引用 public Root(String mgNo) { this.mgNo=mgNo;//获得管理员ID mg=new Manager(mgNo);//创建管理员管理面板 this.setManager();//设置管理员权限 this.initJp();//初始化卡片布局面板 this.addTreeListener();//为树节点注册事件监听器 for(int i=1;i<9;i++) {//向根节点添加子节点 dtm.insertNodeInto(dmtn[i],dmtn[0],i-1); } jt.setEditable(false);//设置该树中节点是可编辑的 this.add(jsplr);//将包含树的滚动窗口添加进窗体 jsplr.setLeftComponent(jt);//将包含树的滚动窗口添加进左边的子窗口 jp.setBounds(200,50,600,500);//为jp设置大小位置并添加进右边的子窗口 jsplr.setRightComponent(jp); jsplr.setDividerLocation(200);//设置分隔条的初始位置 jsplr.setDividerSize(4);//设置分隔条的宽度 jlRoot.setFont(new Font("Courier",Font.PLAIN,30)); jlRoot.setHorizontalAlignment(JLabel.CENTER); jlRoot.setVerticalAlignment(JLabel.CENTER); //设置窗体的关闭动作,标题,大小,位置及可见性 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Image image=new ImageIcon("ico.gif").getImage(); this.setIconImage(image); this.setTitle("图书管理系统"); //设置窗体首次出现的大小和位置--自动居中 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int centerX=screenSize.width/2; int centerY=screenSize.height/2; int w=500;//本窗体宽度 int h=400;//本窗体高度 this.setBounds(centerX-w/2,centerY-h/2-100,w,h);//设置窗体出现在屏幕中央 this.setExtendedState(JFrame.MAXIMIZED_BOTH);//窗体全屏 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);//设置窗体可见 jt.setShowsRootHandles(true);//设置显示根节点的控制图标 } public void setManager() { String sql="select permitted from manager where mgNo='"+mgNo+"'"; DataBase db=new DataBase();//创建数据库类对象 } public void initJp() { jp.setLayout(cl);//设置布局管理器为卡片布局 jp.add(jlRoot,"root");//添加根结点显示信息 /* jp.add(new Student(),"stu");//添加学生管理模块界面 jp.add(new BookManage(),"bm");//添加图书管理模块界面 jp.add(new SearchBook(),"sb");//添加查找图书管理界面 jp.add(new BorrowBook(),"bb");//添加借阅预约图书模块界面 jp.add(new ReturnBook(),"rb");//添加归还挂失图书界面 jp.add(this.mg,"Manager");//添加管理员管理模块界面 jp.add(new ExceedTime(),"et");//添加罚款处理界面*/ } public void addTreeListener() { jt.addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) { DefaultMutableTreeNode cdmtn=//得到选中的节点对象 (DefaultMutableTreeNode)e.getPath().getLastPathComponent(); NodeValue cnv=(NodeValue)cdmtn.getUserObject();//得到自定义节点对象 if(cnv.getValue().equals("图书馆管理系统")) {//显示根结点信息 cl.show(jp,"root"); } if(cnv.getValue().equals("学生用户管理")) {//显示学生用户管理界面 cl.show(jp,"stu"); } else if(cnv.getValue().equals("图书管理")) {//显示图书管理界面 cl.show(jp,"bm"); } if(cnv.getValue().equals("查询图书")) {//显示查询图书界面 cl.show(jp,"sb"); } else if(cnv.getValue().equals("借阅预约图书")) {//显示借阅预约图书界面 cl.show(jp,"bb"); } else if(cnv.getValue().equals("归还挂失图书")) {//显示归还挂失图书界面 cl.show(jp,"rb"); } else if(cnv.getValue().equals("交纳罚款")) {//显示缴纳罚款界面 cl.show(jp,"et"); } else if(cnv.getValue().equals("管理员管理")) {//显示管理员管理界面 cl.show(jp,"Manager"); } else if(cnv.getValue().equals("退出")) {//显示退出界面 int i=JOptionPane.showConfirmDialog(Root.this,"是否退出系统?", "消息",JOptionPane.YES_NO_OPTION); if(i==JOptionPane.YES_OPTION) {//退出系统 System.exit(0); } } } }); } public static void main(String args[]){ //new Root("wyf"); } } ~~~ ![](https://box.kancloud.cn/ebdd98fec85a7b581ccab8d36683ae6f_1043x277.png)