在我的代碼的不同部分,我將運行的一個類似的變種:內部類的ActionListener
_grid[4][4].addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
moveBeginningPieceLeft(_square[4][11]);
refreshBoard();
}
});
,這將改變是_grid的座標的唯一的事情。我早些時候做過一些事情,我做了一個actionlistener,但是eclipse強迫我讓整數最終。我想知道是否很容易編寫addListener方法來使用它所調用的網格值(_grid是一個JButton數組,而_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();
}
});
除非它自己擁有座標的對象。在你的情況沒有。你將不得不依賴於_grid和_square範圍內的兩個索引變量。 –