2016-03-25 10 views
0

私は割り当てにzillionaireを望むゲームにJbuttonを使用しています。私は答えを選択するためにボタンを使用しています。以下は、いくつかのボタンのコードです。コード:複数のJボタンの選択を避ける方法

} 

     }); 
     Answer2.setBounds(220, 105, 188, 25); 
     panel.add(Answer2); 

     Answer1 = new JButton("A"); 
     Answer1.setBackground(Color.YELLOW); 
     Answer1.setHorizontalAlignment(SwingConstants.LEFT); 
     Answer1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
       Answer1.setBackground(Color.BLUE); 
       Answer1.setForeground(Color.WHITE); 
      } 
     }); 
     Answer1.setBounds(20, 105, 188, 25); 
     panel.add(Answer1); 

     Answer4 = new JButton("D"); 
     Answer4.setBackground(Color.YELLOW); 
     Answer4.setHorizontalAlignment(SwingConstants.LEFT); 
     Answer4.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
     Answer4.setBackground(Color.BLUE); 
     Answer4.setForeground(Color.WHITE); 
    } 
}); 

現在のところ、複数のボタンを選択できますので、これを防止してください。これを行うために使用できるコードの例を私に示すことができれば役に立ちます。

+0

ボタンを1つクリックしたときに他のボタンを非アクティブにしますか? –

+0

可能な複製http://stackoverflow.com/questions/19625569/how-to-make-a-button-unclickable –

+0

いいえ私は日食を使用しています申し訳ありません私は質問で言及することを忘れていた。 –

答えて

0

不要なボタンを無効にするか、ブールクラスのレベル変数を作成し、目的のボタンがクリックされたときにtrueにするには、setEnable()メソッドを使用します。次に、他のボタンのアルゴリズムを呼び出す前に、この変数の値が真であるかどうかを確認するだけです。

編集

public class YourClassName{ 

     static boolean isAnswerSelected = false; 

     //your codes goes here 

     Answer1.setHorizontalAlignment(SwingConstants.LEFT); 
     Answer1.addActionListener(new ActionListener() { 

     public void actionPerformed(ActionEvent e) { 

      if(!isAnswerSelected){ //this line will check whether an answer is already selected 
        isAnswerSelected = true; // this will make other answers unselectable 
        Answer1.setBackground(Color.BLUE); 
        Answer1.setForeground(Color.WHITE); 
      } 
     } 
     }); 

    } 

使用上の文とisAnswerSelected = trueの場合、すべてのボタンに対するすべてのactionPerformed()メソッドの行。

+0

こんにちは、あなたには感謝の言葉を与えることができますか?もしそうなら、それは偉大なおかげです。 –

+0

プライベートJButton Answer1; \tプライベートJButton Answer2; –

+0

Answer1 =新しいJButton( "A"); \t \t Answer1.setBackground(Color.YELLOW); \t \t Answer1.setHorizo​​ntalAlignment(SwingConstants.LEFT); \t \t Answer1.addActionListener(新規のActionListener(){ \t \t \t公共ボイドのactionPerformed(のActionEvent e)の{ \t \t \t \t Answer1.setBackground(Color.BLUE); \t \t \t \t Answer1.setForeground(Color.WHITE ); \t \t \t} \t \t})。 \t \t Answer1.setBounds(20、105、188、25); \t \t panel.add(Answer1); –

関連する問題