Сохранение запущенных приложений - PullRequest
2 голосов
/ 15 июля 2011

У меня есть программа, в которой мне нужно сохранить работающее приложение, чтобы иметь возможность вернуться к нему позже. Я знаю, что могу писать / читать из текстового файла, чтобы достичь этого, но программа довольно поразительна, так что это не совсемхороший способ сделать это, потому что у меня есть 10+ классов и тысячи JTextFields, JComboBoxs и т. д. Кто-нибудь знает, как я могу достичь этого без записи / чтения из текстовых файлов?

Пример того, что мне нужночтобы иметь возможность сделать это:

В Microsoft Excel вы можете загружать в него файлы (.exl) и редактировать их.

Ответы [ 4 ]

1 голос
/ 15 июля 2011

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

1 голос
/ 15 июля 2011

Как вы думаете, Excel это делает?Он хранит тип и значение каждой ячейки вместе с метаданными, описывающими рабочий лист в своем собственном двоичном формате в файле.Если у вас есть пользовательское приложение со сложным внутренним состоянием, вам придется спроектировать формат хранения и сериализовать это состояние самостоятельно.Вы можете иметь возможность использовать сериализацию Java, но не без особых усилий.

1 голос
/ 15 июля 2011

Хороший способ сделать это - сохранить данные из ваших элементов управления в каноническую форму, а затем сделать этот класс сериализуемым. Затем вы можете сохранить эти данные в файл. Вот ссылка о сериализации в Java.

UPDATE

Я только что заметил, что вы сказали, что у вас есть тысячи элементов управления формой. Таким образом, вы, вероятно, не хотите делать все это в одном классе, но вы, вероятно, хотите поддерживать иерархию классов и разбивать данные на отдельные классы. Это также поможет вам отделить ваши проблемы. Надеюсь, у вас есть POJO или доменные классы, которые представляют ваши данные. Если это так, ваша задача будет намного проще. Вот почему хорошо разделять проблемы:).

0 голосов
/ 15 июля 2011

Чтобы сохранить состояние приложения, я могу придумать два популярных способа:

1) сохранить состояние приложения в базе данных 2) сохранить состояние приложения в двоичном файле или XML, JSON или любой другой формат, который вы хотите.

Может быть, более подробную информацию о приложении.помогло бы.

это веб-приложение, приложение толстого клиента, приложение клиент / сервер ...! ^

Решение может отличаться в зависимости от типа приложения.

Надеюсьэто поможет.

...