2012-01-17 35 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 2012-01-18 07:42:34

+0

我自己修复了它。 这是溶液: 1.获取IDocumentListener 使用IDocumentListener LR =新IDocumentListener() 2.覆盖的documentChanged(的DocumentEvent为arg0),并使用 为arg0参数来获取所键入的文本和使用类型键为arg0 。抵消。 – 2012-01-25 21:18:15

回答

0

我自己固定它。

这是解决方案:

  1. 使用IDocumentListener lr = new IDocumentListener()

  2. 覆盖的documentChanged(DocumentEvent arg0)得到IDocumentListener和使用为arg0参数来获取输入的文本,并使用arg0.offset输入的密钥。

对于乐意帮助:-)

+0

接受你的答案(点击左边的复选标记)。 – Hossein 2012-01-26 12:51:21