簡體   English   中英

如何保存JTextArea文本?

[英]how to save JTextArea text?

我想知道如何保存JTextArea文本,當用戶在區域中鍵入某些內容時,即使用戶退出程序並重新打開它,它也會停留在該文本中。

對不起,我的英語和語法不好。

有多種方法可以做到這一點。

  1. 使用數據庫:您可以在數據庫中存儲許多不同的輸入,並將其鏈接到進行輸入的用戶或其他任何人。
  2. 寫入.txt文件:這使您可以非常輕松地從應用程序外部訪問數據。
  3. 序列化字符串:您可以將文本保存在字符串中並序列化對象。

有很多方法可以做到,很難確定哪種方法最好,因為我們不知道您要實現什么目標。

通常,您可能希望使用Swing組件來公開某些“模型”對象中的字段,並僅在顯式用戶操作時將模型保存(保存到數據庫,文件等),還要將其保存到某些用戶專用的地方每個用戶的操作(“自動保存”)。 但是, 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());
      }});
  } 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM