我想知道如何保存JTextArea文本,当用户在区域中键入内容时,即使用户退出程序并重新打开它,它也会保留在那里。
抱歉我的英语和语法不好。
答案 0 :(得分:0)
有多种方法可以做到这一点。
有很多方法可以做到,很难确定哪种方法最好,因为我们不知道你想要达到什么目的。
答案 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());
}});
}
}