0

在我的代码的不同部分,我将运行类似的变体:

        _grid[4][4].addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            moveBeginningPieceLeft(_square[4][11]);
            refreshBoard();
        }

    });

唯一会改变的是_grid 的坐标。我之前尝试过做一些动作监听器,但 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();
        }

    });
4

1 回答 1

1

我想知道是否很容易编写一个 addListener 方法,该方法使用它被调用的网格的值(_grid 是一个 JButtons 数组,_square 是一个堆栈数组)。

  • 没有

我之前尝试过做一些动作监听器,但 Eclipse 迫使我将整数设为最终值。

  • 将所需的可变变量声明为局部变量

  • 关于使用put/getClientProperty的最简单方法的示例,您可以将此方法与另一个附加值进行多重播放

  • 为了获得更好的帮助,请尽快发布SSCCE,简短,可运行,可编译,减少并且仅关于 JButtons 网格

于 2013-04-03T05:46:14.187 回答