Я подал заявку, и я должен сохранить некоторые опции перед выходом. (что-то как размер окна..., который будет записан в файле.)
Основной кадр установил это:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Как я могу сохранить опции, который интересует меня? (перед выходом, конечно)
Спасибо!
Если вы просто хотите что-то сделать, когда приложение завершает работу, вы можете обработать завершение с помощью этого кода:
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
public void run() {
// Do what you want when the application is stopping
}
}));
Однако это не позволит не закрывать окно. Если вам нужно что-то проверить перед выходом, вы можете переопределить событие windowClosing
:
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
// Do what you want when the window is closing.
}
});
Обратите внимание, что первое решение - с использованием ловушки выключения - имеет то преимущество, что оно не связано с событием окна, и будет выполняться, даже если приложение остановлено другим событием (за исключением, конечно, случая, когда процесс Java жестоко убит).
Возможно следующее поможет.
Сначала вам нужно прочитать файл с недвижимостью. См. Документ
Свойства properties = new Properties ();
попробуйте {
properties.load (new FileInputStream ("filename.properties"));
} catch (IOException e) {
System.err.println ("Ooops!");
}
Второй обработчик события добавления в ваше окно, который сохранит ваши данные в файл свойств. Все, что вам нужно сохранить, просто поместите в экземпляр свойств и сохраните его при выходе
addWindowListener (new WindowAdapter () {
public void windowClosing (WindowEvent e) {
try {{ {1}} properties.store (новый FileOutputStream ("filename.properties"), null);
} catch (IOException e) {
}
}
});
Вот и все, если я правильно вас понял)
Вы можете зарегистрировать WindowListener и сохранить свои параметры в методе windowClose.
И конечно
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);