Сохранение состояния окна в Java/SWT
Я пытаюсь создать небольшое приложение, используя Java и SWT для GUI. Я ищу способ сохранить в каком-то файле настройки, установленные пользователем, я имею в виду, что если размер окна был изменен, то этот новый размер должен быть сохранен для следующего запуска приложения. То же самое с некоторыми элементами управления, такими как текстовое поле и так далее.
Я придумал две идеи, чтобы решить эту проблему:
- Используйте классические ручной INI-файлы для хранения этих настроек. Но это кажется уродливым и трудно поддерживать.
- Сериализация / десериализация всего класса, который содержит графический интерфейс. Не знаю, если это вообще возможно.
Есть идеи? Что я должен делать?
Заранее спасибо.
Добавлено:
Я не делаю проект Eclipse RCP, это просто обычное приложение SWT.
Более того: я уже пробовал с сериализацией, но SWT-виджеты не поддерживают его, поэтому единственный другой вариант, который я нашел, - это создать другой класс, скажем, Configuration, пометить его как сериализуемый и сохранить там значения моих виджетов. Почти как использование java.util.prefs.Preferences, но не так просто.
Я все еще жду, чтобы увидеть, есть ли другой способ сделать это, возможно, с какой-то обязательной привязкой.
1 ответ
Взгляните на шаблон дизайна Memento.
Eclipse RCP уже использует этот принцип, вы можете обратиться к следующему интерфейсу для получения дополнительной информации:
org.eclipse.ui.IMemento