如何保存JTextArea文本?

时间:2014-09-04 14:32:37

标签: java save jtextarea

我想知道如何保存JTextArea文本,当用户在区域中键入内容时,即使用户退出程序并重新打开它,它也会保留在那里。

抱歉我的英语和语法不好。

2 个答案:

答案 0 :(得分:0)

有多种方法可以做到这一点。

  1. 使用数据库:您可以在数据库中存储许多不同的输入,并将其链接到进行输入的用户或其他任何内容。
  2. 写入.txt文件:这使您可以非常轻松地从应用程序外部访问数据。
  3. Serialize String:您可以将文本保存在String中并序列化Object。
  4. 有很多方法可以做到,很难确定哪种方法最好,因为我们不知道你想要达到什么目的。

答案 1 :(得分:0)

通常,您可能希望使用Swing组件来显示某些" model"中的字段。对象,并仅在显式用户操作时保存模型(到数据库,文件等),但也将其保存到每个用户操作的某个用户私有位置("自动保存")。但是,java.util.prefs.Preferences可能对您提出的要求非常有用。一个简单的例子(未经测试):

public class SwingPrefsDemo extends JFrame {
  // other fields, etc...
  Preferences prefsNode = Preferences.userNodeForPackage(SwingPrefsDemo.class);
  JTextField tf_ta;

  public SwingPrefsDemo() {
    // ...
    tf_ta = new JTextArea();
    tf_ta.setText(prefsNode.get("tf_ta","enter text here"));
    this.add(tf_ta);
    tf_ta.getDocument().addDocumentListener(new DocumentListener() {
      public void changedUpdate(DocumentEvent evt) { change(); }
      public void insertUpdate(DocumentEvent evt) { change(); }
      public void removeUpdate(DocumentEvent evt) { change(); }
      private void change() {
        prefsNode.put("tf_ta",tf_ta.getText());
      }});
  } 
}