私は一連のパネルを作成するためにカードレイアウトを使用しています。他のパネルの選択に応じて、カードレイアウトのJPanelコンテンツをリセットまたは再ロード
私はJFrameクラスを作成しました。そしてこのフレームクラスのインスタンスに、取得されたcontentPaneとCardLayoutを設定します。すべてのパネルをこのcontentPaneに追加しました。
public class JFrameClass1234 extends javax.swing.JFrame {
public static JFrameClass1234 jFrameInstance1234;
public static JPanelFirstScreen jPanelFirstScreen;
public static JPanelSecondScreen jPanelSecondScreen;
public static JPanelThirdScreen jPanelThirdScreen;
public static JPanelFourthScreen jPanelFourthScreen;
public static JPanelFifthScreen jPanelFifthScreen;
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
jFrameInstance1234 = new JFrameClass1234();
jPanelFirstScreen = new JPanelFirstScreen();
jPanelSecondScreen = new JPanelSecondScreen();
jPanelThirdScreen = new JPanelThirdScreen();
jPanelFourthScreen = new JPanelFourthScreen();
jPanelFifthScreen = new JPanelFifthScreen();
final Container pane = jFrameInstance1234.getContentPane();
pane.add(jPanelFirstScreen,card1);
pane.add(jPanelSecondScreen,card2);
pane.add(jPanelThirdScreen,card3);
pane.add(jPanelFourthScreen,card4);
pane.add(jPanelFifthScreen,card5);
CardLayout cl = (CardLayout)(pane.getLayout());
cl.show(pane, card1);
jFrameInstance1234.setVisible(true);
}
});
}
}//end of class
さて、私は各パネルの「次へ」または「戻る」ボタンのアクションlistners内部に以下のメソッドを呼び出すことにより、パネル間を移動することができるよ:
//For going back to previous panel
private void gotoPreviousPanel() {
final Container pane = JFrameClass1234.jFrameInstance1234.getContentPane();
CardLayout cl = (CardLayout) (pane.getLayout());
cl.show(pane, JFrameClass1234.card1);
JFrameClass1234.JFrameinstance1234.setVisible(true);
}
//For going to next panel
private void gotoNextPanel() {
final Container pane = JFrameClass1234.jFrameInstance1234
.getContentPane();
CardLayout cl = (CardLayout) (pane.getLayout());
cl.show(pane, JFrameClass1234.card3);
JFrameClass1234.jFrameInstance1234.setVisible(true);
}
をしかし、私は間を移動するとき値が保持されています(リセットまたは再ロードされていません)。パネル間で前後に移動するときにパネルをリセットまたは再ロードしたい または、最初のパネルで選択された「ComboBox」オプションに応じて、2番目のパネルの「テキストボックス」が表示されたときに必ず再読み込みする必要があります。誰かがこれを達成するために私を助けることができますか?
理想的なデザイン(ロジック)でなければならないものこのような状況には私は従わなければなりませんか?私の状況に特有の文書はありますか?カードレイアウトを使用している方法は正しいですか?そうでなければ私は正しいデザインをお勧めします。
おかげで、 チャンドラ