我有一个包含 2 个面板的 J 框架,我可以使用 Visible 在它们之间切换,但我希望它们显示在与另一个面板相同的位置和相同的大小。
最佳答案
使用 CardLayout 交换 JPanel。该教程可以在这里找到:CardLayout tutorial .
执行此操作时,您需要将 JPanel 设置为使用 CardLayout,并且它将容纳其他两个 JPanel。您需要使用带有字符串常量的 JPanel 将这些 JPanel 添加到 CardLayout,以便 CardLayout 能够识别带有字符串的 View 。例如:
CardLayout cardLayout = new CardLayout();
JPanel cardHoldingPanel = new JPanel(cardLayout);
// .....
然后将两个 View 添加到上面时:
cardHoldingPanel.add(viewPanelOne, "one");
cardHoldingPanel.add(viewPanelTwo, "two");
然后要交换 View ,如果您只有两个 JPanel,则只需在 CardLayout 对象上调用 next(...)
cardLayout.next(cardHoldingPanel);
要显示特定 View ,您需要用于添加 View 的字符串常量并在 CardLayout 对象上调用 show(...)
:
cardLayout.show(cardHoldingPanel, "one");
关于java - 打开两个面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23314005/