У меня есть java-программа (с графическим интерфейсом), которая работает на хосте. Во время выполнения пользователь может добавлять некоторые записи данных. Программа работает только с ними.
Позже система может выключиться или программа просто закроется SIGTERM.
К сожалению, кажется, что программа сохраняет записи данных только в том случае, если пользователь вручную закрывает ее с помощью «X».
Теперь у меня проблема, что я могу потерять некоторые данные, если программа закрывается SIGTERM. К сожалению, нет контактного адреса электронной почты, чтобы попросить автора внести изменения.
Я попытался декомпилировать его с помощью «jd gui», который, похоже, работал более или менее. Тогда я подумал, что могу просто добавить обработчик сигнала и вызвать метод закрытия окна.
Но «jd gui» создал такой код:
/* 110:269 */ if ((??? = Thread.currentThread().getContextClassLoader()) != null) {
/* 111:270 */ return ???;
И я также получаю много других ошибок, если пытаюсь скомпилировать исходный код.
Я думаю, это потому, что файл jar запутан каким-то инструментом. К сожалению, декомпилированный код не работает, и я не могу перекомпилировать файл с помощью JFrame.
Короче говоря: возможно ли написать «программу-оболочку», которая просто обрабатывает SIGTERM, а затем вызывает «метод закрытия» JFrame (или как он называется) основного фрейма (который является единственным JFrame)?
Я просто не знаю, как вызвать такой метод внешней запущенной java-программы.
Спасибо большое.
С уважением Кевин Полезно Бесполезно