打开两个面板

时间:2014-04-26 16:59:28

标签: java swing user-interface jframe jpanel

我有一个包含2个面板的J框架,我可以使用Visible在它们之间切换,但我希望它们出现在相同的位置和相同的尺寸。

1 个答案:

答案 0 :(得分:1)

使用CardLayout交换JPanel。可以在此处找到该教程:CardLayout tutorial

当你这样做时,你需要设置一个JPanel来使用CardLayout,它将保存你的另外两个JPanel。您需要使用带有String常量的JPanel将这些JPanel添加到CardLayout,以便CardLayout能够使用String识别视图。例如:

CardLayout cardLayout = new CardLayout();
JPanel cardHoldingPanel = new JPanel(cardLayout);

// .....

然后将两个视图添加到上面:

cardHoldingPanel.add(viewPanelOne, "one");
cardHoldingPanel.add(viewPanelTwo, "two");

然后交换视图,如果你只有两个JPanels,你只需在CardLayout对象上调用next(...)

cardLayout.next(cardHoldingPanel);

要显示特定视图,您需要使用String常量来添加视图并在CardLayout对象上调用show(...)

cardLayout.show(cardHoldingPanel, "one");