2011-01-30 14 views
0

おはよう!JavaのJPanel問題

私はJPANELの内容をリセットする際に問題があります。 JPANELのすべての内容を削除する方法はありますか?

私はHangManゲームを作っています。そして私は次のレベルへの道を与えるために私のパネルを初期化する必要があります。私のパネルはNetbeansのGUIを使用して作成され、すべてが固定されています(位置とサイズさえも)。

私のコードで
public MainGame(JDialog owner) { 
     super(owner, true); 
     initComponents(); 
     newGame(); 
    } 

    void newGame() { 
     jPanel3.setLayout(new GridLayout(3, 9, 3, 5)); 
     for (char buttonChar = 'a'; buttonChar <= 'z'; buttonChar++) { 
      String buttonText = String.valueOf(buttonChar); 
      letterButton = new JButton(buttonText); 
      letterButton.addActionListener(this); 
      jPanel3.add(letterButton); 
     } 
    } 

    void checkHame(){ 
     newGame(); //I CALL AGAIN TO GO TO THE NEXT LEVEL... 
    } 

は、jPanel3は、NetBeansのGUIを使用して作成され、次のよう

私のサンプルコードです。私の問題は、newGameメソッドの最初の呼び出しで、JPanel3が内容で満たされていることです。私は2番目のnewGame呼び出しのために内部のすべての内容を削除する必要があります。

どのような提案も高く評価されます。

ありがとうございました!

乾杯。

答えて

2

どうした後for loopjPanel3.removeAll()をやってはどうですか? removeAll()ため

定義: -

ます。public voidのremoveAll()

Removes all the components from this container. 
+0

おかげで...私の問題が解決されています... – newbie

1

removeAllメソッドを使用できます。

コンポーネントを削除するのではなく、ボタンの状態を元の状態に戻して、ボタンを再利用するだけです。

2

また、あなたが(再検証呼び出す必要があります)&再描画()のremoveAll