Я работаю над назначением Java, которое должно быть выполнено с использованием AWT. Я хочу, чтобы кнопка запускалась нажатием клавиши ввода, когда кнопка находится в фокусе. Я понял, как это сделать в Swing с помощью метода doClick (), но в AWT это не работает. Пока я пытаюсь это:
button.addActionListener(this); // Passes value from a TextBox to actionPerformed()
button.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ENTER) {
actionPerformed(null);
}
}
});
public void actionPerformed (ActionEvent e) {
try {
if (e.getSource() == button) {
// Stuff I want to happen
} else if (e.getSource() == anotherButton) {
// Other Stuff
} else { //third button
// More stuff
}
} catch (NumberFormatException nfe) {
// Null argument in keyPressed triggers this
// catches empty string exception from TextBox
}
}
Как я уже упоминал в комментариях, нулевой аргумент вызовет улов. Кто-нибудь знает, что это может быть за нажатие кнопки или, возможно, более простой способ сделать это? Спасибо.
Правка - уточнение: actionPerformed () выполняет одно из трех действий с вводом из TextBox в зависимости от того, какая из трех кнопок нажата. Try / catch должен перехватывать пустые исключения строки / формата.