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