0

コードのさまざまな部分で、次の同様のバリアントを実行します。

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

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

    });

変更されるのは、_grid の座標だけです。アクションリスナーを作成する前に何かをしようとしましたが、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();
        }

    });
4

1 に答える 1