使用Netbeans的Java桌面应用程序

时间:2011-06-25 18:35:18

标签: java netbeans jpanel jsr296

我正在制作有助于解决财务手册问题的教程软件。所以它类似于包含组合框和格式化文本框的工作表类型。除了一件事之外,一切都按照我想要的方式运作。有没有办法可以保存我在任何时间点完成的工作。

Lemme具体。共有十二章,每章包含15-20个问题。每个问题都是设计与文本框和组合框和一些jtabbed面板等的组合。如果我解决了我的工作表的一半,并希望保存,以便我可以打开它以后我打开我的软件。有没有办法做到这一点。问题是每个工作表都有不同的组合框和文本框,因此变量也不同。

提前致谢

2 个答案:

答案 0 :(得分:1)

那么你必须有一个持久存储才能保存这个桌面应用程序的状态。请注意数据库或文件存储。 您还可以序列化“应用程序的状态”。在一个对象中并将其保存在磁盘上,当您再次启动应用程序时,重新加载它。

答案 1 :(得分:1)

您需要工作表的模型。这个模型是一个数据结构,并且没有(本身)与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(可能的摆动),它是相同的表示。我认为这不是问题。