Доступ к кнопкам в GridLayout - PullRequest
1 голос
/ 25 мая 2011

Я делаю Tic Tac Toe со многими классами смешения, и я столкнулся с небольшой проблемой.В моей версии я пытаюсь сделать переменную размера платы, что означает, что на кнопки, представляющие каждый квадрат, нельзя легко ссылатьсяЕсть ли способ определить, какая кнопка нажата, если да, то как?Спасибо!

public class GameView extends JFrame{  
    private static final long serialVersionUID = -2869672245901003704L;
    public TicBoard game;
    private GridLayout view;

    public GameView(int height, int width)//height and width are coordinates (-y,x) across all classes
    {
        super("Tic Tac Toe");
        game = new TicBoard(height, width);
        view = new GridLayout(height,width);

        this.setLayout(view);
        for(int h = 0; h<height; h++)
            for(int w = 0;w<width;w++)
                this.add(game.getButton(h,w));

    }       
}

1 Ответ

4 голосов
/ 25 мая 2011

Есть ли способ определить, какой нажата кнопка если да, то как?

Да.

Добавьте ActionListener к кнопкам, затем в методе actionPerformed(ActionEvent e){...} у вас будет метод e.getSource(), чтобы определить, сработавший этот метод, означает, какая кнопка нажата.

...