gpt4 book ai didi

JavaFX 测试应用程序是作为一个整体关闭还是只是单个窗口关闭

转载 作者:行者123 更新时间:2023-12-02 03:31:06 26 4
gpt4 key购买 nike

我有一个可以打开多个窗口的 JavaFX 应用程序。每当窗口失去焦点时,窗口内的数据就会记录到数据库中。当用户想要关闭窗口时,应该触发一个事件处理程序,请求从数据库中删除元组。我希望当用户主动单击窗口右上角的 x 时发生这种情况,而当应用程序完全退出时(例如,如果程序从操作系统启动栏或同等内容)或以其他方式停止。

关闭事件处理程序 stub 看起来类似于以下内容:

foo.setOnCloseRequest(new EventHandler<WindowEvent>() 
{
@Override
public void handle(WindowEvent event)
{
try
{
barController.exec(Action.DELETE, item);
} catch (Exception e)
{
e.printStackTrace();
}
}
});

问题是,当我从 Ubuntu 中的栏停止程序时(例如),每个窗口仍在调用此事件;每次测试的事件都是 WindowEvent.WINDOW_CLOSE_REQUEST,无论用户还是应用程序关闭了窗口。

简单地说:是否有某种方法可以将“onUserCloseWindow”与“onCloseApplication”区分开来?

最佳答案

当使用 native 窗口装饰时,我不相信有办法区分这些类型的事件。从您的应用程序的角度来看,它们都是

external request to close this Window

.

我认为你最好的选择是实现你自己的 window 装饰,如上所述 here .

关于JavaFX 测试应用程序是作为一个整体关闭还是只是单个窗口关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38078639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com