SWT Нажатие кнопки ENTER обработчик событий - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь обработать событие нажатия кнопки ввода при наборе текста в текстовом поле SWT.Вот что я сделал до сих пор:

textField.addKeyListener(new KeyListener() {

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

        }

        @Override
        public void keyPressed(KeyEvent arg0) {
            if(arg0.keyCode == SWT.CR) {
                //do something here....
            }
        }
    });

Это на самом деле работает, когда я нажимаю кнопку ввода, но не когда я нажимаю кнопку ввода на цифровой клавиатуре.

Кто-то знает постояннуюпеременная для этой кнопки?

Спасибо

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Попробуйте использовать traverse listener, который предназначен для обработки таких вещей, как Enter:

textField.addTraverseListener(new TraverseListener()
  {
    @Override
    public void keyTraversed(final TraverseEvent event)
    {
      if (event.detail == SWT.TRAVERSE_RETURN)
        { 
          ...
        }
    }
  });
0 голосов
/ 20 ноября 2018

Я бы попробовал с:

if (arg0.keyCode==SWT.CR || arg0.keyCode==SWT.KEYPAD_CR)
...