Настольное приложение Java с использованием Netbeans - PullRequest
1 голос
/ 25 июня 2011

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

Позвольте мне быть конкретным.Есть двенадцать глав, и каждая глава содержит около 15-20 задач.Каждая проблема - это дизайн с комбинацией текстовых полей и комбинированных полей и некоторой панели jtabbed и т. Д. Если я решил половину своего рабочего листа и хочу сохранить его, чтобы позже открыть его, я открываю свое программное обеспечение.Есть ли способ сделать это.Проблема в том, что на каждом листе нет ни одного поля со списком и текстового поля, поэтому переменные тоже разные.

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

Ответы [ 2 ]

1 голос
/ 25 июня 2011

Вам нужна модель для вашего рабочего листа.Эта модель представляет собой структуру данных и не имеет отношения (как таковая) к тому, что для ее представления используются графические элементы GUI.

Вы сохраняете состояние модели - начинайте с простой сериализации - длядиск на сохранении.Загрузка при запуске.

Что-то в этом духе позволяет равномерно обрабатывать ваши рабочие листы.

public interface PersistentModel {
    boolean save (OutputStream out) throws IOException;
    boolean load (InputStream out) throws IOException;
}
public interface SpreadSheet extends PersistentModel {
    Worksheet[] getWorksheets();
    Worksheet getWorksheet(int i); // and other related, etc.
}

public interface Worksheet extends PersistentModel {
   int id();
   Element get(String name):
   Element[] getElements();

   public interface Element<T> extends PersistentModel { 
        String getName();
        T getValue();
        boolean setValue(T v);
   }
}

Swing использует MVC, и у вас есть стандартные механизмы перехвата вашей модели (структура данных, содержащая состояниерабочие листы), и GUI (вероятно, колебание), который является представлением того же самого.Я предполагаю, что это не проблема.

1 голос
/ 25 июня 2011

Итак, у вас должно быть постоянное хранилище, чтобы сохранить состояние этого настольного приложения. Подумайте о базе данных или хранилище файлов.Вы также можете сериализовать «состояние приложения».в объекте и сохранить его на диске, и когда вы снова запустите приложение, вы перезагрузите его.

...