2013-02-09 69 views
2

我制作了一个游戏,用户必须输入相当于小数点的二进制数。用户单击在0和1之间切换的按钮。这在eclipse中的应用程序中运行良好,但是当我尝试作为applet运行时,它无法正常运行。只有第一个按钮注册了任何事件(只添加了第一个操作侦听器?)我如何才能使其工作?欢迎任何有用的建议!将ActionListeners添加到小程序中的按钮阵列

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();   
+0

是,但我需要一个以上的ActionListener添加 – phcoding 2013-02-09 13:39:22

回答

1

你已经在所有的按钮设定相同的动作命令:
buttons[i].setActionCommand("0");

这里这个特殊的代码:
String choice = (String) e.getActionCommand(); 回报每一个按钮点击

尝试设置不同的操作命令每个按钮

+0

由于双方是回答我现在的工作。 – phcoding 2013-02-09 13:59:37

+0

@phcoding如果它帮助 - 你可以接受任何两个答案 – exexzian 2013-02-09 14:01:41

1

所有的按钮都有相同的文本和相同的动作命令。

你或许应该改变在第一循环的第一行是这样的:

buttons[i] = new JButton(i + ""); 
buttons[i].setActionCommand(i + "");