我要做一个类似于学生信息管理系统,里面要涉及到一些例如信息录入等的功能,
但我不想在点击菜单时弹出窗口进行该功能的执行,
我想所有的操作都在一个窗口内完成,该怎样设计啊
譬如左右窗口那样,左边放一个jtree
点击相应的内容,在右边的窗体里显示,而不需要另外再打开一个窗口有人知道吗?谢谢!

解决方案 »

  1.   

    很容易啊,由于不知道你的具体要求,给你个思路
    每个功能你先做成一个类,最好继承JPanel.比如学生信息录入类,应该包含一些JLabel和JTextField等吧.然后布局好.
    主窗体按照你的要求,应该分为2个部分,坐标是TREE,右边是动态改变的功能.
    当你在左边的JTree中点某个节点,要实现其对应的功能时,在监听里面,应该首先remove目前右边的JPanel,然后new对应的类(继承JPanel的那些功能类),将其添加到窗体中(就是你说的右边部分),这样就所有功能在一个窗体中实现了.
      

  2.   

    做管理系统的话,用JList比用JTree要直观些。
    建议将不同的功能版块写在不同的JPanel中,当用户点击JList中不同的Item时,通过重绘将对应功能的JPanel在右边窗体中展现出来。
    需要注意的是,在更新右边窗体的JPanel时需要依次调用以下几个方法:
    1)rightPanel.removeAll();
    2) rightPanel.add(somePanel);
    3) rightPanel.validate();
    4) rightPanel.repaint();
      

  3.   

    实例化一个JScrollPane和一个JPanel,scroll的添加到窗体西边,panel添加到窗体东边。左边当然就是放TREE。右边放树节点对应的功能。各相应的功能提前做成不同的类,都继承JPanel。点树节点触发监听时,把原来的panel删掉(remove),new你刚才做好的类(继承了JPanel的),并add进去,然后validate()刷新一下界面,就实现你要的效果了。有问题请回帖。
      

  4.   

    JTree 或者 JTabbedPane(选项卡)  都可以实现.
      

  5.   

    同意3楼,cardLayout正是为此而生,呵呵