gpt4 book ai didi

java - 如何获取 jInternalPane 的卡片布局?

转载 作者:行者123 更新时间:2023-12-02 05:43:19 25 4
gpt4 key购买 nike

我在 jDesktopPane 中有一个 jInternalPanejDesktopPane 位于具有 BorderLayout 布局的 jPanel 内。

在我的内部 Pane 中,我正在尝试以编程方式切换卡。我有以下相关的代码片段:

public void switchCards() {
CardLayout cl = (CardLayout)(internalFrame1.getLayout());
cl.show(internalFrame1, "card1"); //Where card1 is a jPanel
}

但是,在错误跟踪中,我可以看到以下内容:

javax.swing.plaf.basic.BasicInternalFrameUI$Handler 无法转换为 java.awt.CardLayout

有人可以指出我正确的方向来正确处理此错误吗?我很想学习如何做到这一点!

提前非常感谢。

最佳答案

您将在 JInternalFrame 的内容 Pane 上使用 CardLayout,而不是内部框架本身。

您可以只设置内容 Pane 的布局:

Container contentPane = internalFrame.getContentPane();
contentPane.setLayout( new CardLayout() );

contentPane.add(panel1, "Card1");
contentPane.add(panel2, "Card2");

那么你的 switchCards() 方法将是:

Container contentPane = internalFrame.getContentPane();
CardLayout cl = (CardLayout)(contentPane.getLayout());
cl.show(contentPane, "card1"); //Where card1 is a jPanel

关于java - 如何获取 jInternalPane 的卡片布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24331898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com