Сохранение состояния окна в Java/SWT

Я пытаюсь создать небольшое приложение, используя Java и SWT для GUI. Я ищу способ сохранить в каком-то файле настройки, установленные пользователем, я имею в виду, что если размер окна был изменен, то этот новый размер должен быть сохранен для следующего запуска приложения. То же самое с некоторыми элементами управления, такими как текстовое поле и так далее.

Я придумал две идеи, чтобы решить эту проблему:

  • Используйте классические ручной INI-файлы для хранения этих настроек. Но это кажется уродливым и трудно поддерживать.
  • Сериализация / десериализация всего класса, который содержит графический интерфейс. Не знаю, если это вообще возможно.

Есть идеи? Что я должен делать?

Заранее спасибо.

Добавлено:

Я не делаю проект Eclipse RCP, это просто обычное приложение SWT.

Более того: я уже пробовал с сериализацией, но SWT-виджеты не поддерживают его, поэтому единственный другой вариант, который я нашел, - это создать другой класс, скажем, Configuration, пометить его как сериализуемый и сохранить там значения моих виджетов. Почти как использование java.util.prefs.Preferences, но не так просто.

Я все еще жду, чтобы увидеть, есть ли другой способ сделать это, возможно, с какой-то обязательной привязкой.

1 ответ

Взгляните на шаблон дизайна Memento.

Eclipse RCP уже использует этот принцип, вы можете обратиться к следующему интерфейсу для получения дополнительной информации:

org.eclipse.ui.IMemento
Другие вопросы по тегам