3

アプリ用のシンプルなGUIを作成しています。私はJPanelsをいくつか持っています。JButtonをクリックして実行したアクションに応じて表示したい。1つのJPanelを無効にして、別のJPanelを有効にするにはどうすればよいですか?

詳細のカップル。私は、GUIを開始して構築しているJFrameのクラスを持っています。ボタンとテキストがあるところ。ボタンの1つをクリックすると、このJFrameのビューが変更されます。

私のボタンの定義

    JButton btnStart = new JButton("Start");
    btnStart.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {

        }
    });
    btnStart.setBounds(10, 11, 110, 23);
    contentPane.add(btnStart);

// 編集

問題を見つけました。ボタンは静的な方法でした

4

3 に答える 3

7

単純なもの:

jframe.setContentPane(your_new_panel);
jframe.invalidate();
jframe.validate();
于 2012-06-11T16:40:12.460 に答える
5
  1. CardLayoutを使用することをお勧めします。
  2. または、古いパネルを削除して新しいパネルを追加するだけです。

contentPane.remove(oldPanel);
contentPane.add(newPanel);
于 2012-06-11T16:37:32.220 に答える
1

まず、jPanelを削除し、新しいjPanelを追加します。次に、validateを使用してリレーアウトを実行します。

    jFrame.remove(jPanelOld);
    jFrame.add(jPanelNew);
    jFrame.validate();
于 2018-07-24T18:30:22.090 に答える