セットアップ アプリケーションを作成しています。アプリケーションを初期化するメイン クラスがあります。これには、JFrame と 2 つの JPanel 変数、つまり panelX と panelY があります。このメイン クラスは JFrame を作成し、それに panelX と panelY を追加します。これらのパネルでは、panelY には 3 つの JButton (Back、Next、Quit) があります。panelY は、プロセス全体でそのまま残ります。次へおよび戻るボタンのクリック イベントのように、panelX がその内容を変更する場所。
他にもいくつかのクラスがあります。これらのクラスには、別のコンポーネントが追加された JPanel を返すメソッドがあります。
私のコードでは、次のボタンと戻るボタンをクリックすると、次の手順が発生します
1) removeAll() メソッドを呼び出して、panelX のすべてのコンポーネントを削除します
2) panelX は null に割り当てられます。
3) 上記のクラスのそれぞれのメソッドが呼び出され、JPanel が返されます。この返された JPanel は panelX に割り当てられます。
元。
panelX.removeAll();
panelX=null;
panelX=getNextPanel();
4) 上記のステップの後; repaint(); を呼び出します。panelX でメソッドを検証します。
元。
panelX.repaint();
panelX.validate();
問題は、次のボタンを押すと適切なパネルが表示されますが、[次の] ボタンを 2 回クリックし、マウス ポインターを panelX に移動した後に [戻る] ボタンを押すと、以前に割り当てられたパネルのコンポーネントも表示されます。
だから、私がこの問題を解決する方法を友達に教えてください.
ありがとう!