Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Swing中更改CardLayout的大小_Java_Swing_Cardlayout - Fatal编程技术网

Java 在Swing中更改CardLayout的大小

Java 在Swing中更改CardLayout的大小,java,swing,cardlayout,Java,Swing,Cardlayout,由于CardLayout的大小固定,我无法在Swing中对齐gridpanels 我有一个gridPanel,我使用了卡片布局 gpTenderTypes.setLayout(new CardLayout()); 单击按钮时,卡将更改并调用类(例如,单击creditcard按钮时,网格面板中的creditcard将显示,并调用Card1()对象) gpTenderTypes.add(new Cash1(), DBConstants.TENDER_TYPE_CASH); gpTenderTyp

由于CardLayout的大小固定,我无法在Swing中对齐gridpanels

我有一个gridPanel,我使用了卡片布局

 gpTenderTypes.setLayout(new CardLayout());
单击按钮时,卡将更改并调用类(例如,单击creditcard按钮时,网格面板中的creditcard将显示,并调用Card1()对象)

gpTenderTypes.add(new Cash1(), DBConstants.TENDER_TYPE_CASH);
gpTenderTypes.add(new Card1(), DBConstants.TENDER_TYPE_CREDIT_CARD);
gpTenderTypes与其他两个gridPanel一起添加到另一个gridPanel gp2row中

gp2row.addFilledComponent(gpCustDet, 1, 1, 6, 1,GridBagConstraints.BOTH);
gp2row.addFilledComponent(gpTT, 1, 7, 1, 1, GridBagConstraints.BOTH);        
gp2row.addFilledComponent(gpButtonsPanel, 1, 8, 6, 1,GridBagConstraints.BOTH);
屏幕中添加了gp2row:

this.addFilledComponent(gp2row, 2, 1, 14, 1, GridBagConstraints.BOTH);
我意识到,无论使用setSize或setPreferredSize更改其大小,CardLayout的大小都保持不变。更改其他GridPanel(gpCustDet、gpButtonsPanel)的尺寸也没有用

我该如何解决这个问题?
谢谢!

CardLayout的大小(实际上是布局为
CardLayout
的组件的大小)不是由您对该组件的子组件所做的任何操作定义的,而是由组件本身及其父组件和父组件的布局管理器定义的。如果您的代码中没有更多详细信息,我们无法确定,但我将首先查看。

请发布模式代码(SSCCE)