Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将JFrame内容保存到文件_Java_Swing_Jframe - Fatal编程技术网

Java 如何将JFrame内容保存到文件

Java 如何将JFrame内容保存到文件,java,swing,jframe,Java,Swing,Jframe,我正在尝试制作一个程序,要求用户提供信息,然后当他们单击“保存”时,文本框和标签以及所有内容都保存到一个文件中,以便能够共享。如果需要,它可以是任何类型的文件。该信息位于JFrame内的选项卡式窗格中。这是我当前的保存方法 FileFilter ft = new FileNameExtensionFilter("Text Files", "txt", "jpg","png", "jpeg"); db.addChoosableFileFilter(ft); int returnVa

我正在尝试制作一个程序,要求用户提供信息,然后当他们单击“保存”时,文本框和标签以及所有内容都保存到一个文件中,以便能够共享。如果需要,它可以是任何类型的文件。该信息位于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());
        }
    }

JFrame.toString
不会为您提供任何要保存的状态

正确的方法是从文本框中获取每个值并手动保存/重新加载到文件中


您可以尝试的另一种方法是将整个JFrame序列化为一个文件。更多信息请看这个

您是否试图以另一个程序可以再次重建的方式保存JFrame?我不认为您可以这样做,我假设该行只保存实例文本表示。如果要保存和重建JFrame,需要保存正在使用的数据(在标签和框中),并编写代码从保存的数据进行解析和重建。这就是为什么在向应用程序添加GUI之前,应该为应用程序构建逻辑模型的原因。
JFrame
的帖子我担心我必须手动完成。不过,我将研究Java文档。非常感谢。