2017-06-26 43 views
-1

我正在嘗試製作一個程序,要求用戶提供信息,然後當他們單擊保存時,將文本框和標籤以及所有文件保存到文件中以便能夠共享。如果需要,它可以是任何類型的文件。信息位於JFrame內的選項卡式窗格中。這是我目前的保存方法。如何將JFrame內容保存到文件

FileFilter ft = new FileNameExtensionFilter("Text Files", "txt", "jpg","png", "jpeg"); 
    db.addChoosableFileFilter(ft); 
    int returnVal = db.showSaveDialog(this); 

    if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) { 
     java.io.File saved_file = db.getSelectedFile(); 
     String file_name = saved_file.toString(); 

     try { 
      WriteFile data = new WriteFile(file_name, false); 
      String allText = JFrame.toString(); //Line im having trouble with 
      data.writeToFile(allText); 
     } catch (java.io.IOException e) { 
      System.out.println(e.getMessage()); 
     } 
    } 
+0

您是否試圖以可以通過另一個程序重新構建的方式保存JFrame?我不認爲你可以這樣做,我假設該行只保存實例文本表示。如果要保存並重建JFrame,則需要保存正在使用的數據(在標籤和框中),並編寫代碼以從保存的數據中解析和重建。 – StaticShadow

+0

這就是爲什麼您應該在爲其添加GUI之前爲您的應用程序構建邏輯模型的原因。 – ControlAltDel

+0

你的'JFrame'的帖子[mcve] – c0der

回答

0

JFrame.toString不會給你任何你想保存的狀態。

正確的做法是從文本框中獲取每個值並手動保存/重新加載到文件中。

另一種可以嘗試的方法是將整個JFrame序列化爲一個文件。看看這個JavaDoc欲瞭解更多信息。

+0

我擔心我必須手動完成它。不過,我會研究Java文檔。謝謝。 –

相關問題