2015-02-08 3 views
1

Можно ли узнать, какая клавиша нажата в JAVA NetBeans в jTextField? Кроме того, когда нажата клавиша ввода или клавиша esc, прекратите ее обнаружение.Можно ли определить, какая клавиша нажата для событий прослушивания клавиш JAVA? (нажата клавиша, напечатана или выпущена)

Благодарим за помощь!

+0

Что вы надеетесь достичь? ActionListener следует использовать для контроля поля для нажатий клавиши «действие», которая обычно является ключом ввода. Вы можете использовать DocumentListener для контроля изменений в содержимом текстового поля, которое учитывает ввод и вставку текста пользователя, а также когда setText вызывается – MadProgrammer

ответ

2

Конечно, это возможно. Попробуйте что-то вроде этого:

KeyListener keyListener = new KeyListener() { 

      @Override 
      public void keyTyped(KeyEvent e) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void keyReleased(KeyEvent e) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void keyPressed(KeyEvent e) { 
       // TODO Auto-generated method stub 
       int keyCode = e.getKeyCode(); 
       char keyChar = e.getKeyChar(); 

       System.out.println("Code: "+keyCode+" , "+"Char: "+keyChar); 

       if (keyCode == KeyEvent.VK_ENTER) { 
        System.out.println("Enter pressed"); 
        //do whatever you want here 

       }else if (keyCode == KeyEvent.VK_ESCAPE) { 
        System.out.println("Esc pressed"); 
        //do whatever you want here 
       } 
      } 
     }; 

this.textField.addKeyListener(keyListener); 
+0

Спасибо за помощь! – Clueless

Смежные вопросы