我希望当应用程序的焦点移动到另一个应用程序时,应用程序将被关闭,例如,如果用户单击桌面上的某个位置,应该关闭应用程序。
我尝试使用焦点监听器,但它不起作用。这是什么解决方案?
答案 0 :(得分:2)
除了焦点侦听器之外,还需要向shell添加SWT.Deactivate
侦听器,并在发生此事件时退出应用程序。
例如:
Shell shell = ...
shell.addListener( SWT.Deactivate, event -> shell.close() );
...
while( !shell.isDisposed() ) {
if( !display.readAndDispatch() )
display.sleep();
}
该示例假定shell
是唯一的shell,从而导致程序结束。