我制作了一个游戏,用户必须输入一个相当于十进制的二进制数。用户单击在0和1之间切换的按钮。这在eclipse中作为一个应用程序运行得很好,但当我尝试作为小程序运行时,它没有正确运行。只有第一个按钮注册了任何事件(只添加了第一个动作侦听器?)我如何才能使其工作?欢迎任何有用的建议!
for(int i = 0; i < buttons.length; i++) {
buttons[i] = new JButton("0");
buttons[i].setActionCommand("0");
buttons[i].setEnabled(true);
bpanel.add(buttons[i]);
}
for (int i = 0; i<size;){
buttons[i].addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e) {
String choice = (String) e.getActionCommand();
您在所有按钮上都设置了相同的操作命令:
buttons[i].setActionCommand("0");
这里有一个特殊的代码:String choice = (String) e.getActionCommand();
每次点击按钮返回0
尝试为每个按钮设置不同的操作命令
所有按钮都有相同的文本和相同的操作命令。
您可能应该将第一个循环中的第一行更改为以下内容:
buttons[i] = new JButton(i + "");
buttons[i].setActionCommand(i + "");