Я разрабатываю простой плагин для 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);
Что вы пытаетесь сделать здесь? Я не могу помочь вам прислушиваться ко всем клавишам, но, вероятно, есть другой способ. – dbrank0
Я исправил его сам. Это решение: 1. Получить IDocumentListener используя IDocumentListener Lr = новый IDocumentListener() 2. переопределять значение documentChanged (DocumentEvent arg0) и используйте параметр arg0, чтобы получить набранный текст и набранный ключ с помощью arg0 .offset. –