我想知道在Java Swing应用程序的窗口之间切换的最佳做法是什么。我可以为每个窗口创建一个JFrame,也可以为每个窗口创建一个新的JPanel并在一个JFrame中切换它们。
答案 0 :(得分:1)
最佳做法是在面板之间切换。 第一个优点是效率,第二个优点是每个人都只使用静态窗口,这些窗口保持位置和大小。
但我很确定会有更多意见,但对我来说切换面板更实用。
答案 1 :(得分:1)
您可以使用JTabbedPane
的实例。这允许您在JPanels
之间切换并保持一切非常有条理。另外一个很大的好处是鼠标处理已经为您完成了。这是一个简单的示例,向您展示了使用JTabbedPane
是多么容易。
public class TabbedDemo
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
JTabbedPane tabbed = new JTabbedPane();
JPanel panel1 = new JPanel();
panel1.add(new JLabel("Panel 1"));
tabbed.addTab("Panel 1", panel1);
JPanel panel2 = new JPanel();
panel2.add(new JLabel("Panel 2"));
tabbed.addTab("Panel 2", panel2);
JPanel panel3 = new JPanel();
panel3.add(new JLabel("Panel 3"));
tabbed.addTab("Panel 3", panel3);
frame.add(tabbed);
frame.setPreferredSize(new Dimension(400,400));
frame.setVisible(true);
}
}
你的GUI结果就像这样。
答案 2 :(得分:0)
取决于申请。在大多数情况下,通常的做法是将JPanel
置于JFrame
之内,这样第二种选择可能是最好的,而且不会混乱。
答案 3 :(得分:0)
理想情况下,Swing
个应用程序应该只有一个JFrame
。您应该在JPanel
之间切换或使用JInternalFrame
。
并且Modal dialogs
是与用户交互的最佳做法。