我正在使用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);
}
});
目前可以选择多个按钮,我希望防止这种情况发生。如果您能向我展示可用于执行此操作的代码示例,将会很有帮助。
答案 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()方法的行。