2012-01-17 2 views
0

Я разрабатываю простой плагин для eclipse, где я хочу определить, что пользователь (кто открывает файл проекта и печатает в редакторе) печатает. Пока у меня есть текущий рабочий стол, текущий активный редактор и изменения свойств, внесенные в редактор, используя IPropertyListener; но я неоднократно не обнаружил, нажата ли какая-либо клавиша или нет.обнаружение ключа в активном окне eclipse

код:

 IWorkbench wb = PlatformUI.getWorkbench(); 
     IWorkbenchWindow win = wb.getActiveWorkbenchWindow(); 
     IWorkbenchPage page = win.getActivePage(); 
     System.out.println 
       ("Yeah the editor is visible..." + page.isEditorAreaVisible() + "with ..." +  page.toString()); 
     IEditorPart theEditor = page.getActiveEditor() ; 

     IPropertyListener myPropL = new IPropertyListener() 
     { 


     @Override 
     public void propertyChanged(Object arg0, int arg1) 
     { 
      // TODO Auto-generated method stub 

      System.out.println("This is : " + arg0.toString() ); 

     } 
    }; 


     theEditor.addPropertyListener(myPropL); 
+0

Что вы пытаетесь сделать здесь? Я не могу помочь вам прислушиваться ко всем клавишам, но, вероятно, есть другой способ. – dbrank0

+0

Я исправил его сам. Это решение: 1. Получить IDocumentListener используя IDocumentListener Lr = новый IDocumentListener() 2. переопределять значение documentChanged (DocumentEvent arg0) и используйте параметр arg0, чтобы получить набранный текст и набранный ключ с помощью arg0 .offset. –

ответ

0

Я установил его сам.

Это решение:

  1. получить IDocumentListener с помощью IDocumentListener lr = new IDocumentListener()

  2. переопределять значение documentChanged(DocumentEvent arg0) и использовать параметр arg0, чтобы получить набранный текст и набранный ключ с помощью arg0.offset.

Для дальнейших вопросов рад помочь :-)

+0

Примите свой ответ (нажмите галочку слева). – Hossein