在我的代码的不同部分,我将运行类似的变体:
_grid[4][4].addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
moveBeginningPieceLeft(_square[4][11]);
refreshBoard();
}
});
唯一会改变的是_grid的坐标。我尝试先做一些事情,然后我做了一个actionlistener,但是eclipse迫使我让整数最终成功。我想知道是否很容易编写一个addListener方法,该方法使用被调用的网格值(_grid是一个JButtons数组,_square是一个堆栈数组)。因此,如果我在_grid [2] [5]上调用addListener,它只需要从_grid获取坐标[2] [5]并放在actionlistener的_square部分。所以,
_grid[0][5].addListener();
与
相同 _grid[0][5].addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
moveBeginningPieceLeft(_square[0][5]);
refreshBoard();
}
});
答案 0 :(得分:1)
我想知道编写一个使用的addListener方法是否容易 它被调用的网格的值(_grid是一个数组 JButtons和_square是一个堆栈数组。)
我之前尝试过做一个actionlistener的事情,但是 日食迫使我让整数最终化。
将所需的vasriable声明为本地变量
使用put/getClientProperty了解最简单方法的示例,您可以使用其他附加值多重播放此方法
更快地发布SSCCE,简短,可运行,可编辑,缩减以及仅关于JButton的网格