有没有比在单个JFrame中保留多个JTabbedPanes更好的方法?

时间:2016-09-26 19:54:57

标签: java swing jtabbedpane

menu screen

这是我的菜单屏幕。这是一个JTabbedPane,当用户点击任何选项卡时,我将菜单的可见性设置为false,并将另一个选项卡式窗格的可见性设置为true。 假设用户点击了库存,那么窗口将如下所示:

Stock Screen

当用户点击"<<"它会将库存的可见性设置为false,并将菜单的可见性设置为true。

创建多个JFrame文件并执行相同操作而不是在单个框架中添加多个TabbedPanes是否更好?它很难维护整个JFrame的单个.java文件。

2 个答案:

答案 0 :(得分:3)

是的,您也可以这样做:

JTabbedPane preupdatetab = new JTabbedPane();
preupdatetab.setForeground(new Color(255,0,0).darker());
preupdatetab.setBounds(30,15,930,300);
preupdate.add(preupdatetab);
precomplete.setLayout(null);
preupdatetab.add(precomplete,"Complete Change");
preonce.setLayout(null);
preupdatetab.add(preonce,"Qty Change");
changelocationpanel = new JPanel();
changelocationpanel.setLayout(null);
preupdatetab.add(changelocationpanel,"Change Location");
changesaleprice = new JPanel();
changesaleprice.setLayout(null);
preupdatetab.add(changesaleprice,"Change Sale Price");
changebookprice = new JPanel();
changebookprice.setLayout(null);
preupdatetab.add(changebookprice,"Change Book Price");
changevendor = new JPanel();
changevendor.setLayout(null);
preupdatetab.add(changevendor,"Change Vendor");
changeitemname = new JPanel();
changeitemname.setLayout(null);
preupdatetab.add(changeitemname,"Change Item Name");

其他变量是全局声明的JLabel,所以不要混淆 以下图片将为您提供更多相关信息。 enter image description here

答案 1 :(得分:2)

我的一个应用程序中有类似的菜单样式。我会做以下其中一项:

  1. 为了更好地组织,我会将您的第二个JTabbedPane移到另一个JFrame并将代码交换出来。这会很快,不会给你任何新功能,但会让你的代码更容易跟踪。
  2. 正如另一张海报所示,你可以在上面做两个标签。这将分离代码并为用户提供“升级”的功能,而无需“返回”。
  3. 我喜欢做的是两者的结合。对于主菜单,请将选项卡保留在左侧,但子菜单有一个单独的JTabbedPane 高于,在访问第一个菜单时会加载到框架中。它为您的窗户提供了一个干净的外观,一种轻松浏览所有内容的方式,它将培训用户向左看大的变化,向上看小的变化。这样,一旦您的用户对此感到满意,您就可以按照这种方式制作更多菜单,并且越多,他们就越习惯使用它。