由于 CardLayout 的大小固定,我无法在 Swing 中对齐网格面板。
我有一个 gridPanel gpTenderTypes,我使用了卡片布局。
gpTenderTypes.setLayout(new CardLayout());
当一个按钮被点击时,卡片会改变并且类会被调用(例如,当信用卡按钮被点击时,网格面板中的信用卡会被显示出来,并且 Card1() 对象会被调用。
gpTenderTypes.add(new Cash1(), DBConstants.TENDER_TYPE_CASH);
gpTenderTypes.add(new Card1(), DBConstants.TENDER_TYPE_CREDIT_CARD);
gpTenderTypes 与其他 2 个网格面板一起添加到另一个 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);
我已经意识到 CardLayout 的大小保持不变,无论使用 setSize 或 setPreferredSize 更改其大小。更改其他 GridPanel(gpCustDet、gpButtonsPanel)的尺寸也没有用。
我该如何解决这个问题?谢谢!