我在java应用程序的内存数据库中使用HSQL。我正在通过调用DatabaseManagerSwing
类的主方法来打开 HSQLDB 提供的GUI manager
。它已成功打开。
我需要注册回调或在用户手动关闭窗口时通知。我在文档中找不到类似的东西,并且在看到DatabaseManagerSwing
类的代码后,我认为它不受支持。
stop
方法只是清除其变量,不调用任何其他方法。正如我在想它是否支持这一点时,它必须将回调对象存储在某个地方,并最终在 stop 方法中调用它们。但不幸的是,什么都没有。
有什么方法或解决方法可以完成此操作吗?当用户关闭窗口时,我需要执行一些操作。
我添加了一个关机钩子,以便在程序终止时运行。但事实并非如此。确保在启动 HSQL 数据库管理器时,不要传递 --noexit参数。如果不传递参数,JVM 将在您关闭数据库管理器窗口时退出。
通过添加这个
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
// do your stuff
}) {
});
用户可以在用户手动关闭窗口时执行所需的操作。