Как сохранить параметры приложения перед выходом?

Я подал заявку, и я должен сохранить некоторые опции перед выходом. (что-то как размер окна..., который будет записан в файле.)

Основной кадр установил это:

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Как я могу сохранить опции, который интересует меня? (перед выходом, конечно)

Спасибо!

20
задан Daan 30 October 2013 в 16:36
поделиться

3 ответа

Если вы просто хотите что-то сделать, когда приложение завершает работу, вы можете обработать завершение с помощью этого кода:

    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 жестоко убит).

34
ответ дан 29 November 2019 в 23:44
поделиться

Возможно следующее поможет.

  1. Сначала вам нужно прочитать файл с недвижимостью. См. Документ

     Свойства properties = new Properties (); 
    попробуйте {
    properties.load (new FileInputStream ("filename.properties")); 
    } catch (IOException e) {
    System.err.println ("Ooops!"); 
    } 
     
  2. Второй обработчик события добавления в ваше окно, который сохранит ваши данные в файл свойств. Все, что вам нужно сохранить, просто поместите в экземпляр свойств и сохраните его при выходе

      addWindowListener (new WindowAdapter () {
    public void windowClosing (WindowEvent e) {
    try {{ {1}} properties.store (новый FileOutputStream ("filename.properties"), null); 
    } catch (IOException e) {
    } 
    } 
     }); 
     

Вот и все, если я правильно вас понял)

6
ответ дан 29 November 2019 в 23:44
поделиться

Вы можете зарегистрировать WindowListener и сохранить свои параметры в методе windowClose.

И конечно

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
2
ответ дан 29 November 2019 в 23:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: