Как щелкнуть JButton, чтобы пользователь не щелкнул его?

У меня есть JButton, и когда игрок нажимает на нее, он сообщает моему прослушивателю действий, что кнопка нажата. Я хочу знать, есть ли команда или что-то, что действует так, как если бы игрок нажал кнопку.

Как и в Tic Tac Toe, у меня есть это, поэтому 2 игрока могут играть друг против друга, но я хочу добавить опцию для компьютерного игрока против игрока-человека. Но поскольку компьютер не может нажать кнопку, я теряюсь.

Изменить: будет ли это так же просто, как gridButton2.click() (Имя кнопки).click();


person Joe C    schedule 11.04.2011    source источник


Ответы (3)


Довольно много. Все, что вам нужно сделать, это использовать функцию doClick(). См. API. Дополнительная информация.

person Jeff Burka    schedule 11.04.2011

для крестиков-ноликов вам не нужен компьютер, чтобы нажать кнопку. вам просто нужно подождать, пока человек сделает ход, затем компьютер выберет свой ход и выполнит код, который произойдет, если кнопка будет нажата.

person Andbdrew    schedule 11.04.2011
comment
Я думаю так же, как @Andbdrew. Если вы уверены, что не можете обойтись без программной имитации щелчка, используйте doClick(), в противном случае, если вы только после того, как функциональность сделает это, введя общую функцию, которая будет вызываться при перемещении компьютера и щелчке игрока. - person Boro; 12.04.2011

Просто вызовите метод actionPerformed() напрямую из класса ActionListenerimplementing. Вы можете сделать это следующим образом:

actionPerformed(new ActionEvent(gridButton2, ActionEvent.ACTION_FIRST, "youractioncommand"));
person Ander Juaristi    schedule 06.12.2012