2012-03-04 20 views
1

私はこの2D JButton配列(白い色)を持っています。私がしたいのは、四角形をクリックするとオレンジ色に変わります。別の正方形をクリックすると、その正方形もオレンジ色になりますが、クリックした最初の正方形は通常の白色に戻ります。すべての四角形がオレンジ色に変わることなく、どうすればいいですか?ここで2Dボタン配列ActionListener、カラー変更?

が可視化だ:私は数字と四角をクリックすると enter image description here

ところで、その色はsetEnabled(false)ボタンのようと考える、変更しないでください。私はすでにボタンの色を変更する方法を知っています、私はちょうど色が四角形の後に四角形でどのように渡されるのか知りたいです。

お手伝いいただける方に感謝します。

編集:私の「試行」が、すべて私のnullの評価ボタンをオレンジにしています。あなたがそれらをグループとして扱い、活性化1に色を設定することができるようにあなたがJToggleButtonを使用してButtonGroupでそれらを置くことができる

button[i][j].addActionListener(new ActionListener() { 

    public void actionPerformed(ActionEvent e){ 
     for(int i = 0; i < button.length; i++) 
      for(int j = 0; j < button.length; j++){ 
       if(g.gameBoard[i][j] == null){ 
        //must find the position where the user clicks and make it orange 
        button[i][j].setBackground(Color.ORANGE); 
       } 
      } 
     } 
}); 
+1

[何を試しましたか](http://mattgemmell.com/2008/12/08/what-have-you-tried/)?あなたはどこにいるのですか?しかし、私のお金のために、ボタンに色を変える以外の本質的な "アクション"がない場合は、JLabelとMouseListenerを使用しますが、JLabelの不透明なプロパティをtrueに設定して、その背景色。 –

+2

あなたはJToggleButtonsの配列を使っていますが、より良いヘルプのためにはすぐに[SSCCE](http://sscce.org/) – mKorbel

+0

@HovercraftFullOfEelsであなたの投稿を編集してください。私のactionListenerにJButtonのインスタンスで作成しようとしました: 'ae.getSource()instance of JButton'ですが、クリックするとすべてのボタンがオレンジ色になります。 – alicedimarco

答えて

3

P.S.質問がある場合、私はこのスレッドに次の24時間連絡をとります。私はもっと説明しようとします。

+0

ありがとう!私は今夜​​それを試してみる。 – alicedimarco

+0

クール!出来た!どうもありがとう!もう色をオレンジ色に変えるつもりはありません:) – alicedimarco

-1
if(e.getSource()== null) 
{ 
    //must find the position where the user clicks and make it orange 
    button[i][j].setBackground(Color.ORANGE); 
} 

このコードは、public void actionPerformed(ActionEvent e)メソッドにあります。