我有在主机上运行的 java 程序(带有 gui)。在运行时,用户可以添加一些数据记录。该程序只适用于他们。
稍后系统可能会关闭或程序刚刚被 SIGTERM 关闭。
不幸的是,如果用户用“X”手动关闭,porgram 似乎只存储数据记录。
现在我有一个问题,如果程序被 SIGTERM 关闭,我可能会丢失一些数据。不幸的是,没有联系电子邮件地址要求作者进行更改。
我试图用“jd gui”反编译它,它似乎或多或少地工作。我想我可以添加信号处理程序并调用“窗口关闭”方法。
但是“jd gui”创建了这样的代码:
/* 110:269 */ if ((??? = Thread.currentThread().getContextClassLoader()) != null) {
/* 111:270 */ return ???;
如果我尝试编译源代码,我还会遇到许多其他错误。
我认为这是因为 jar 文件被某些工具混淆了。不幸的是,反编译的代码不起作用,我无法使用 JFrame 重新编译文件。
长话短说:是否可以编写一个“包装程序”,它只处理 SIGTERM,然后调用主框架(这是唯一的 JFrame)的 JFrame“关闭方法”(或如何调用它)?
我只是不知道如何调用外部运行的java程序的这种方法。
非常感谢。
最好的问候凯文