我们有一个 SWT 应用程序,当它仍在运行时会导致挂起,并且用户在 OS X 上触发系统关闭。从应用程序菜单关闭应用程序可以正常工作。
我试图为实例注册一个SWT.Close
监听器:Display
display.addListener(SWT.Close, new Listener() {
@Override
public void handleEvent(Event event) {
if (!handleExitRequest()) {
event.doit = false;
event.type = SWT.None;
}
}
});
这神奇地解决了挂起,但不幸的是,退出时调用它是不可靠的。:(