JAVA Swing 折叠菜单

来源:互联网 发布:ubuntu禁用nouveau 编辑:程序博客网 时间:2024/05/16 01:04

首先再构造函数里添加一些控件代码

//Left面板折叠式菜单设置,三面板网格式布局        pNorth=new JPanel();        pNorth.setLayout(new GridLayout(8,1));        pSouth=new JPanel();        subMenuContainer=new JPanel();        subMenuContainer.setLayout(new GridLayout(4,1));        item1=new JButton("首页");              //设置按钮        item2=new JButton("病人信息管理");               item3=new JButton("就医档案管理");        item4=new JButton("医生信息管理");        item5=new JButton("科室信息管理");        item6=new JButton("价格管理");        item7=new JButton("收费管理");        item8=new JButton("系统设置");        item1.setPreferredSize(new Dimension(150, 47));   //优先设置按钮大小        item2.setPreferredSize(new Dimension(150, 47));        item3.setPreferredSize(new Dimension(150, 47));        item4.setPreferredSize(new Dimension(150, 47));        item5.setPreferredSize(new Dimension(150, 47));        item6.setPreferredSize(new Dimension(150, 47));        item7.setPreferredSize(new Dimension(150, 47));        item7.setPreferredSize(new Dimension(150, 47));        item8.setPreferredSize(new Dimension(150, 47));        item1.setContentAreaFilled(false);item2.setContentAreaFilled(false);   //设置为透明        item3.setContentAreaFilled(false);item4.setContentAreaFilled(false);        item5.setContentAreaFilled(false);item6.setContentAreaFilled(false);        item7.setContentAreaFilled(false);item8.setContentAreaFilled(false);        pNorth.add(item1); pNorth.add(item2); pNorth.add(item3);   //添加按钮        pNorth.add(item4); pNorth.add(item5); pNorth.add(item6);         pNorth.add(item7);pNorth.add(item8);        btn=new JButton[2];        //设置子功能按钮        btn[0]=new JButton("信息录入");         btn[1]=new JButton("其他操作");        for(int i=0;i<btn.length;i++){            btn[i].setBackground(Color.WHITE);   //设置按钮颜色            btn[i].setPreferredSize(new Dimension(150,30));//设置大小            btn[i].addMouseListener(this);        }            ctn=new JButton[3];                ctn[0]=new JButton("档案录入");         ctn[1]=new JButton("处方单");         ctn[2]=new JButton("其他操作");         for(int i=0;i<ctn.length;i++){            ctn[i].setBackground(Color.WHITE);            ctn[i].setPreferredSize(new Dimension(150,30));            ctn[i].addMouseListener(this);        }        dtn=new JButton[2];                dtn[0]=new JButton("信息录入");         dtn[1]=new JButton("其他操作");         for(int i=0;i<dtn.length;i++){            dtn[i].setBackground(Color.WHITE);            dtn[i].setPreferredSize(new Dimension(150,30));            dtn[i].addMouseListener(this);        }              etn=new JButton[1];                etn[0]=new JButton("综合操作");         for(int i=0;i<etn.length;i++){            etn[i].setBackground(Color.WHITE);            etn[i].setPreferredSize(new Dimension(150,30));            etn[i].addMouseListener(this);        }           ftn=new JButton[1];                ftn[0]=new JButton("综合操作");         for(int i=0;i<ftn.length;i++){            ftn[i].setBackground(Color.WHITE);            ftn[i].setPreferredSize(new Dimension(150,30));            ftn[i].addMouseListener(this);        }        gtn=new JButton[2];                gtn[0]=new JButton("结账页面");         gtn[1]=new JButton("综合操作");         for(int i=0;i<gtn.length;i++){            gtn[i].setBackground(Color.WHITE);            gtn[i].setPreferredSize(new Dimension(150,30));            gtn[i].addMouseListener(this);        }        htn=new JButton[1];                htn[0]=new JButton("修改密码");         for(int i=0;i<htn.length;i++){            htn[i].setBackground(Color.WHITE);            htn[i].setPreferredSize(new Dimension(150,30));            htn[i].addMouseListener(this);        }        left.add(pNorth,"North");   //按钮添加到left面板中        left.add(subMenuContainer,"Center");        left.add(pSouth,"South");        //监听器添加        item1.addMouseListener(this);        item2.addMouseListener(this);        item3.addMouseListener(this);        item4.addMouseListener(this);        item5.addMouseListener(this);        item6.addMouseListener(this);        item7.addMouseListener(this);        item8.addMouseListener(this);

然后添加功能,为按钮添加事件,如下

        public void mouseClicked(MouseEvent e) {        if(e.getSource()==item1){            this.add(right);            HomePage s=new HomePage();   //调用主页的类。            right.add(s.homePage, "homePage");            layout.next(right);        }         //设置折叠按钮功能,先把南面板清空,让后在给各面板设置布局方式,添加按钮也添加子功能按钮,清楚别的子功能按钮         if(e.getSource()==item2){            pSouth.removeAll();               pNorth.setLayout(new GridLayout(2,1));             pSouth.setLayout(new GridLayout(6,1));            pNorth.add(item1);            pNorth.add(item2);            pSouth.add(item3);            pSouth.add(item4);            pSouth.add(item5);            pSouth.add(item6);            pSouth.add(item7);            pSouth.add(item8);            for(int i=0;i<btn.length;i++)                subMenuContainer.add(btn[i]);            for(int i=0;i<ctn.length;i++)                subMenuContainer.remove(ctn[i]);            for(int i=0;i<dtn.length;i++)                subMenuContainer.remove(dtn[i]);            for(int i=0;i<etn.length;i++)                subMenuContainer.remove(etn[i]);            for(int i=0;i<ftn.length;i++)                subMenuContainer.remove(ftn[i]);            for(int i=0;i<gtn.length;i++)                subMenuContainer.remove(gtn[i]);            for(int i=0;i<htn.length;i++)                subMenuContainer.remove(htn[i]);            validate();            getContentPane().repaint();        }        if(e.getSource()==item3){            pSouth.removeAll();            pNorth.setLayout(new GridLayout(3,1));             pSouth.setLayout(new GridLayout(5,1));            pNorth.add(item1);            pNorth.add(item2);            pNorth.add(item3);            pSouth.add(item4);            pSouth.add(item5);            pSouth.add(item6);            pSouth.add(item7);            pSouth.add(item8);            for(int i=0;i<btn.length;i++)                subMenuContainer.remove(btn[i]);            for(int i=0;i<ctn.length;i++)                subMenuContainer.add(ctn[i]);            for(int i=0;i<dtn.length;i++)                subMenuContainer.remove(dtn[i]);            for(int i=0;i<etn.length;i++)                subMenuContainer.remove(etn[i]);            for(int i=0;i<ftn.length;i++)                subMenuContainer.remove(ftn[i]);            for(int i=0;i<gtn.length;i++)                subMenuContainer.remove(gtn[i]);            for(int i=0;i<htn.length;i++)                subMenuContainer.remove(htn[i]);            validate();            getContentPane().repaint();        }        if(e.getSource()==item4){            pSouth.removeAll();            pNorth.setLayout(new GridLayout(4,1));             pSouth.setLayout(new GridLayout(4,1));            pNorth.add(item1);            pNorth.add(item2);            pNorth.add(item3);            pNorth.add(item4);            pSouth.add(item5);            pSouth.add(item6);            pSouth.add(item7);            pSouth.add(item8);            for(int i=0;i<btn.length;i++)                subMenuContainer.remove(btn[i]);            for(int i=0;i<ctn.length;i++)                subMenuContainer.remove(ctn[i]);            for(int i=0;i<dtn.length;i++)                subMenuContainer.add(dtn[i]);            for(int i=0;i<etn.length;i++)                subMenuContainer.remove(etn[i]);            for(int i=0;i<ftn.length;i++)                subMenuContainer.remove(ftn[i]);            for(int i=0;i<gtn.length;i++)                subMenuContainer.remove(gtn[i]);            for(int i=0;i<htn.length;i++)                subMenuContainer.remove(htn[i]);            validate();            getContentPane().repaint();        }        if(e.getSource()==item5){            pSouth.removeAll();            pNorth.setLayout(new GridLayout(5,1));             pSouth.setLayout(new GridLayout(3,1));            pNorth.add(item1);            pNorth.add(item2);            pNorth.add(item3);            pNorth.add(item4);            pNorth.add(item5);            pSouth.add(item6);            pSouth.add(item7);            pSouth.add(item8);            for(int i=0;i<btn.length;i++)                subMenuContainer.remove(btn[i]);            for(int i=0;i<ctn.length;i++)                subMenuContainer.remove(ctn[i]);            for(int i=0;i<dtn.length;i++)                subMenuContainer.remove(dtn[i]);            for(int i=0;i<etn.length;i++)                subMenuContainer.add(etn[i]);            for(int i=0;i<ftn.length;i++)                subMenuContainer.remove(ftn[i]);            for(int i=0;i<gtn.length;i++)                subMenuContainer.remove(gtn[i]);            for(int i=0;i<htn.length;i++)                subMenuContainer.remove(htn[i]);            validate();            getContentPane().repaint();        }        if(e.getSource()==item6){            pSouth.removeAll();            pNorth.setLayout(new GridLayout(6,1));             pSouth.setLayout(new GridLayout(2,1));            pNorth.add(item1);            pNorth.add(item2);            pNorth.add(item3);            pNorth.add(item4);            pNorth.add(item5);            pNorth.add(item6);            pSouth.add(item7);            pSouth.add(item8);            for(int i=0;i<btn.length;i++)                subMenuContainer.remove(btn[i]);            for(int i=0;i<ctn.length;i++)                subMenuContainer.remove(ctn[i]);            for(int i=0;i<dtn.length;i++)                subMenuContainer.remove(dtn[i]);            for(int i=0;i<etn.length;i++)                subMenuContainer.remove(etn[i]);            for(int i=0;i<ftn.length;i++)                subMenuContainer.add(ftn[i]);            for(int i=0;i<gtn.length;i++)                subMenuContainer.remove(gtn[i]);            for(int i=0;i<htn.length;i++)                subMenuContainer.remove(htn[i]);            validate();            getContentPane().repaint();        }        if(e.getSource()==item7){            pSouth.removeAll();            pNorth.setLayout(new GridLayout(7,1));             pSouth.setLayout(new GridLayout(1,1));             pNorth.add(item1);            pNorth.add(item2);            pNorth.add(item3);            pNorth.add(item4);            pNorth.add(item5);            pNorth.add(item6);            pNorth.add(item7);            pSouth.add(item8);            for(int i=0;i<btn.length;i++)                subMenuContainer.remove(btn[i]);            for(int i=0;i<ctn.length;i++)                subMenuContainer.remove(ctn[i]);            for(int i=0;i<dtn.length;i++)                subMenuContainer.remove(dtn[i]);            for(int i=0;i<etn.length;i++)                subMenuContainer.remove(etn[i]);            for(int i=0;i<ftn.length;i++)                subMenuContainer.remove(ftn[i]);            for(int i=0;i<gtn.length;i++)                subMenuContainer.add(gtn[i]);            for(int i=0;i<htn.length;i++)                subMenuContainer.remove(htn[i]);            validate();            getContentPane().repaint();        }        if(e.getSource()==item8){            pSouth.removeAll();            pNorth.setLayout(new GridLayout(8,1));             pNorth.add(item1);            pNorth.add(item2);            pNorth.add(item3);            pNorth.add(item4);            pNorth.add(item5);            pNorth.add(item6);            pNorth.add(item7);            pNorth.add(item8);            for(int i=0;i<btn.length;i++)                subMenuContainer.remove(btn[i]);            for(int i=0;i<ctn.length;i++)                subMenuContainer.remove(ctn[i]);            for(int i=0;i<dtn.length;i++)                subMenuContainer.remove(dtn[i]);            for(int i=0;i<etn.length;i++)                subMenuContainer.remove(etn[i]);            for(int i=0;i<ftn.length;i++)                subMenuContainer.remove(ftn[i]);            for(int i=0;i<gtn.length;i++)                subMenuContainer.remove(gtn[i]);            for(int i=0;i<htn.length;i++)                subMenuContainer.add(htn[i]);            validate();            getContentPane().repaint();        }

这些是我做课程设计时候的代码,里面的内容没改,,看看就很容易改的,希望能帮到大家!有不足之处望多多指教!!!

原创粉丝点击