簡體   English   中英

如何獲得jInternalPane的卡布局?

[英]How can I get the card layout of an jInternalPane?

我在jInternalPane中有一個jDesktopPane jDesktopPane位於具有BorderLayout布局的jPanel中。

在我的內部窗格中,我試圖以編程方式切換卡。 我有以下相關的可中斷代碼:

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

但是,在錯誤跟蹤中,我可以看到以下內容:

javax.swing.plaf.basic.BasicInternalFrameUI$Handler cannot be cast to java.awt.CardLayout

有人可以指出正確的方向來正確處理此錯誤嗎? 我很想學習如何做!

提前謝謝了。

您將在JInternalFrame的內容窗格上使用CardLayout,而不是內部框架本身。

您可以只設置內容窗格的布局:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM