听SWT.MouseUp
和SWT.KeyUp
似乎是在你的情况要走的路:
public static void main(String[] args)
{
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
Text text = new Text(shell, SWT.BORDER);
Listener listener = new Listener()
{
@Override
public void handleEvent(Event arg0)
{
System.out.println("Event");
}
};
text.addListener(SWT.KeyUp, listener);
text.addListener(SWT.MouseUp, listener);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
你可以跟踪老光标处的一个static
变量和Listener
比较它的当前位置。
另一个非常有用的事件是SWT.Verify
每当发生变更包含的文本被调用。请注意,这不会考虑鼠标位置的变化。
来源
2013-04-08 10:11:50
Baz