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