如何避免多个Jbutton选择

时间:2016-03-25 15:04:53

标签: java jbutton

我正在使用Jbuttons进行一项名为谁想要在任务中成为亿万富翁的游戏。我正在使用按钮来选择答案。这是一些按钮的代码。代码:

}

        });
        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);
    }
});

目前可以选择多个按钮,我希望防止这种情况发生。如果您能向我展示可用于执行此操作的代码示例,将会很有帮助。

1 个答案:

答案 0 :(得分:0)

使用setEnable()方法禁用不需要的按钮或创建布尔类级别变量,并在单击所需按钮时将其设置为true。然后再调用其他按钮'算法只是检查这个变量的值是否为真。

<强>被修改

   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); 
             }
         } 
       });

   }  

使用上面的if语句和isAnswerSelected = true;所有按钮的所有actionPerformed()方法的行。