2015-08-19 8 views
1

Я создал мастер Eclipse. Все работает отлично, за исключением того, что мастер закрывается, если я нажимаю клавишу Enter.Мастер Eclipse закрывается после нажатия клавиши Enter

Я пытался обработать это с помощью TraverseListener, но это не сработало.

Я также пробовал SWT.TRAVERSE_RETURN, но это не сработало.

new TraverseListener() { 
      @Override 
      public void keyTraversed(TraverseEvent event) { 
       if(event.keyCode == SWT.CR){ 
    /** DO ANYTHING */ 

        event.doit = false; 
       } 
      } 
     }; 

Плагин написан на Java 1.7 в Eclipse Mars.

Какова наилучшая практика для решения таких проблем?

+0

Что управления вы добавили этот слушатель? –

+0

Я добавил этот приемник в текстовое поле 'txtUrl.addTraverseListener (новый TraverseListener() { \t \t \t @Override \t \t \t общественного недействительными keyTraversed (TraverseEvent событие) { \t \t \t \t если (event.keyCode == SWT. CR) { \t \t \t \t \t/** * сделать что-нибудь/ \t \t \t \t \t event.doit = ​​ложь; \t \t \t \t} \t \t \t \t \t \t \t} \t \t} \t \t); ' –

ответ

3

Добавьте траверс слушателя к диалоговому оболочки и использовать SWT.TRAVERSE_RETURN

getShell().addTraverseListener(new TraverseListener() { 
    @Override 
    public void keyTraversed(TraverseEvent event) { 
    if (event.detail == SWT.TRAVERSE_RETURN) { 
     event.doit = false; 
    } 
    } 
}); 
+1

Спасибо !!! оно работает ! :) –

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