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




Приложение, вероятно, сохраняет ваши настройки в вашем домашнем каталоге или реестре Windows, то есть с помощью API настроек.
Java может сохранять свои программные настройки в Предпочтения, который, в свою очередь, сохраняется для каждого пользователя в зависимости от того, какие настройки используются для хранения и извлечения значений. В окнах Windows эти настройки хранятся в реестре в разделе HKEY_CURRENT_USER / Software / JavaSoft / Prefs.
Под ним может быть большое дерево каталогов, использующее пути к классам объектов для различения значений.
Используете ли вы Swing и расширяет ли ваше приложение SingleFrameApplication (например, приложение с графическим интерфейсом пользователя по умолчанию, созданное в NetBeans). Если это так, информация о состоянии окна сохраняется - где это зависит от платформы. Чтобы этого не произошло, вам нужно переопределить метод shutdown в вашем классе, который расширяет SingleFrameApplication.
@Override
protected void shutdown() {
super.shutdown(); // remove this if you don't want the window state saved
}