Java 如何保存JTextArea文本?

Java 如何保存JTextArea文本?,java,save,jtextarea,Java,Save,Jtextarea,我想知道如何保存JTextArea文本,当用户在区域中键入某些内容时,即使用户退出程序并重新打开它,它也会留在该区域 对不起,我的英语和语法不好。有多种方法可以做到这一点 使用数据库:您可以在数据库中存储许多不同的输入,并将其链接到进行输入的用户或其他任何内容 写入.txt文件:这允许您非常轻松地从应用程序外部访问数据 序列化字符串:您可以将文本保存在字符串中并序列化对象 有很多方法,很难确定哪一种是最好的,因为我们不知道您想要实现什么。通常,您可能希望使用Swing组件公开某些“模型”对象中的

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


对不起,我的英语和语法不好。

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

  • 使用数据库:您可以在数据库中存储许多不同的输入,并将其链接到进行输入的用户或其他任何内容
  • 写入.txt文件:这允许您非常轻松地从应用程序外部访问数据
  • 序列化字符串:您可以将文本保存在字符串中并序列化对象

  • 有很多方法,很难确定哪一种是最好的,因为我们不知道您想要实现什么。

    通常,您可能希望使用Swing组件公开某些“模型”对象中的字段,并仅在显式用户操作时保存模型(到数据库、文件等),但也可以在每次用户操作时将其保存到某个用户专用位置(“自动保存”)。但是,它可能对您所要求的内容非常有用。一个简单的例子(未经测试):


    使用数据库或保存到文件并从中读取。您还应该了解,当我运行您的代码或使用您的代码时,可能会重复以下内容:JFrame j=new JFrame(“”);j、 设置大小();j、 setVisible(真);代码不起作用。我做错什么了吗?
    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());
          }});
      } 
    }