关闭SWT应用程序时,当焦点转移到另一个应用程序时



我希望,当应用程序的焦点移至另一个应用程序时,该应用程序将关闭,例如,如果用户在桌面上的某个地方单击该应用程序,则应关闭应用程序。

我尝试使用焦点侦听器,但它不起作用。解决方案是什么?

除了焦点侦听器外,您还需要将SWT.Deactivate侦听器添加到外壳中,并在此事件发生时退出应用程序。

例如:

Shell shell = ...
shell.addListener( SWT.Deactivate, event -> shell.close() );
...
while( !shell.isDisposed() ) {
  if( !display.readAndDispatch() )
    display.sleep();
}

示例假设shell是唯一的外壳,从而导致程序结束。

最新更新