Key Listener не работает?

1

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

public void keyTyped(KeyEvent e) {
    if(e.getKeyCode() == KeyEvent.VK_ENTER){
        try{
        al.add(Integer.parseInt(txtGrade.getText()));
        txtGrade.setText("");
        txtGrade.requestFocus();
        numOfGrades++;
        lblGRecord.setText(numOfGrades + " Grades Recorded");
        }
        catch(Exception ex){
            JOptionPane.showMessageDialog(this, "Please enter a number");
            txtGrade.selectAll();
            txtGrade.requestFocus();
        }
    }
}
Теги:
user-interface
swing
keylistener

1 ответ

3
Лучший ответ

Похоже, вы пытаетесь добавить KeyListener в JTextField и пытаетесь захватить нажатие клавиши Enter. Если этого не произойдет. Вместо этого просто дайте JTextField ActionListener, который будет делать то же самое, но на самом деле будет работать.

например,

txtGrade.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent e) {
    try{
        al.add(Integer.parseInt(txtGrade.getText()));
        txtGrade.setText("");
        numOfGrades++;
        lblGRecord.setText(numOfGrades + " Grades Recorded");
    } catch(Exception ex){
        JOptionPane.showMessageDialog(this, "Please enter a number");
        txtGrade.selectAll();
    }
    txtGrade.requestFocusInWindow();
  }
});
  • 0
    Можете ли вы дать мне пример?
  • 0
    @Kalkrin: только что сделал.
Показать ещё 9 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню