2017-06-26 79 views
0

我有一個按鈕數組,當我點擊一個按鈕時,這個按鈕應該調用一個方法,在數組中它的位置。點擊JButton調用方法

class MyActionLauncher implements ActionListener { 
    public void actionPerformed(ActionEvent ae){ 

     for(int i = 1; i!= z; i++){ 
      for(int o = 1; i != s; o++){ 
       if(ae.getSource() == buttons[i][o]){ 
        ClassX.turn(i, o); 
       } 
      } 
     } 


    } 
} 

如何做到這一點?

+0

種子在'actionCommand'屬性或值'clientProperty'財產。給定事件'源'你也可以計算它在陣列/網格中的位置 – MadProgrammer

+1

for循環的終止條件看起來很奇怪。你應該重新考慮這些。 –

回答

0

您必須設置陣列中每個按鈕的actionPerformed(事件e)。似乎是枯燥的,但你的聲明將是這樣的:

JButton [][] buttons = new JButton[10][10](); 
for(int i = 0;i<10;++i){ 
    for(int j = 0;j<10;++j){ 
     buttons[i][j].addActionListener(new ButtonListener{ 

      @Override 
      public void actionPerformed(ActionEvent e){ 
       //my action 
      } 
     }); 
    } 
} 

希望它可以幫助