Как мне щелкнуть JButton без нажатия пользователем?

#java #swing #jbutton #actionlistener

#java #swing #jbutton #actionlistener

Вопрос:

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

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

Редактировать: было бы это так же просто, как gridButton2.click() (Название кнопки).click();

Ответ №1:

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

Ответ №2:

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

Комментарии:

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

Ответ №3:

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

 actionPerformed(new ActionEvent(gridButton2, ActionEvent.ACTION_FIRST, "youractioncommand"));