如何在SWT中激发自定义事件



我正在swt中构建一个应用程序,我还有一个线程在运行,它会轮询数据库中是否有任何更改(直接对数据库或由其他应用程序进行的更改)。

我可以接受更改,但现在我需要告诉我的接口刷新,我尝试直接从线程调用对象刷新方法,但我得到了SWTException "Invalid Thread Access"

有没有一种方法可以在线程中创建我自己的事件,然后在发现数据库上的更改时手动触发,然后由需要刷新的类获取。

我看过SWT事件,但我似乎只能找到那些附加到小部件的事件,并且只能通过小部件本身触发。。。

谢谢!

您需要从用户界面线程更新用户界面。

一种方法是在org.eclipse.swt.widgets.Display类上使用以下方法之一:

Display.getDefault().syncExec( new Runnable() { ... } );

或:

Display.getDefault().asyncExec( new Runnable() { ... } );

相关内容

  • 没有找到相关文章

最新更新