#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"));