Java Swing сохраняет и загружает рабочее пространство / настройки - PullRequest
7 голосов
/ 28 февраля 2012

У меня есть приложение Java Swing, которое содержит несколько фреймов, которые, в свою очередь, преимущественно содержат таблицы, которые отображают большие объемы данных. Поскольку при запуске все окна и таблицы занимают много времени и занимают много времени, я бы хотел реализовать функциональность «рабочее пространство», чтобы пользователь мог сохранить настройки предпочтений и при запуске выбрать автоматическую загрузку сохраненного рабочего пространства в все окна и таблицы отображаются как ранее сохраненные. В частности, настройки, которые я хочу сохранить в рабочей области:

  • Активные окна (JFrame) и их размеры и позиции на экране
  • Настройки таблицы, включая выбранные столбцы, порядок столбцов, ширина столбцов, сортировка, фильтрация

Кто-нибудь знает умный и простой способ сделать это без очевидного, и что кажется очень сложным и громоздким, решение итерации по всем открытым окнам и сохранение каждой части информации с помощью Preferences API? Спасибо

1 Ответ

7 голосов
/ 28 февраля 2012

В этом случае очевидное решение, java.util.prefs.Preferences, вероятно, является правильным.RCPrefs из этой игры - простой пример, демонстрирующий сохранение различных типов данных, включая enum.Точная реализация сильно зависит от приложения.Хотя это утомительно, оно не должно быть особенно сложным.Для удобства в примере используются статические методы;предпочтения фрейма и таблицы, вероятно, стоят каждого класса.

...