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