Я пишу апплет и хочу выяснить, как сделать так, чтобы кнопка и событие ключа покрывали один и тот же бит кода. Для этого вопроса я назову эту кнопку fireButton
. Код для события действия, конечно, будет выглядеть так:
public void actionPerformed(ActionEvent e) {
if (e.getSource() == fireButton) {
//all the code that pressing button executes
}
}
Теперь я хочу нажать клавишу «Ввод», чтобы выполнить тот же код, который обрабатывает событие действия, но я не хочу переписывать весь код снова методом keyPressed
.
Если говорить точнее, я пишу программу для линкора, и кнопка «Огонь» принимает входные данные из двух текстовых полей, обрабатывает исключения и передает их в качестве параметров методу, который запускает определенный квадрат в сетке. В идеале, нажатие клавиши ввода будет работать так же, как если бы я нажал кнопку огня. Есть ли способ заставить определенный метод вызывать метод actionPerformed
? Если нет, то каким было бы элегантное решение проблемы?