2013-02-09 68 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 + "");