Java Swing сохраняет и загружает рабочее пространство / настройки

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

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

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

1 ответ

Решение

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

Другие вопросы по тегам