CardLayoutのサイズが固定されているため、Swingでグリッドパネルを位置合わせできません。
カードレイアウトを使用したgridPanelgpTenderTypesがあります。
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とともに別のgridPanelgp2rowに追加されます。
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)のサイズを変更しても意味がありません。
これを修正するにはどうすればよいですか?ありがとうございました!