Запуск нового исполняемого файла приложения Java, сохранение сеанса - PullRequest
2 голосов
/ 06 января 2009

вопрос довольно новичок, но будет очень полезно, если вы дадите мне несколько подсказок.

Я запускаю приложение Java (с графическим интерфейсом). Каждый раз, когда я выхожу из графического интерфейса, сессия (то, что я сделал в графическом интерфейсе) сохраняется, а в следующий раз, когда я запускаю графический интерфейс, сохраненный сеанс загружается. Когда я устанавливаю приложение в другой каталог и запускаю исполняемый файл вновь установленного приложения, загружается сохраненный сеанс старого приложения. Почему это происходит? Приложения имеют одинаковую версию и имеют одинаковые имена, но я подумал, что при запуске исполняемого файла вновь установленного приложения начнется новый сеанс (и ничего о том, что я сделал в графическом интерфейсе другого приложения) запомнится). Если я запускаю приложение второй или n-й раз, предыдущее приложение сохраняется, возможно, потому, что есть опция сохранения сеанса, но почему это происходит с новым исполняемым файлом?

Должен ли я что-то изменить / удалить где-нибудь на моем компьютере, чтобы этого не произошло? (Я пытаюсь эти вещи с помощью Windows Machine).

Привет

Ответы [ 3 ]

2 голосов
/ 06 января 2009

Java может сохранить свои настройки программы в Предпочтения , которые, в свою очередь, хранятся в расположении для каждого пользователя в зависимости от того, какие настройки используются для хранения и получения значений. В окнах окна эти настройки хранятся в реестре в разделе HKEY_CURRENT_USER / Software / JavaSoft / Prefs

Там может быть большое дерево каталогов, использующее пути классов объектов для различения значений.

1 голос
/ 07 января 2009

Используете ли вы Swing и расширяет ли ваше приложение SingleFrameApplication (например, приложение с графическим интерфейсом по умолчанию, созданное в NetBeans). Если это так, информация о состоянии окна сохраняется вне зависимости от платформы. Чтобы это не произошло, вам нужно переопределить метод shutdown в вашем классе, который расширяет SingleFrameApplication

@Override
protected void shutdown() {
    super.shutdown();  // remove this if you don't want the window state saved
}
1 голос
/ 06 января 2009

Приложение, вероятно, сохраняет ваши настройки в вашем домашнем каталоге или реестре Windows, то есть с помощью Preferences API .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...