2017-06-26 105 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 
      } 
     }); 
    } 
} 

希望它可以帮助