将JTextPane内容(图像,表)保存在文件中

时间:2016-10-29 13:32:18

标签: java swing save jtextpane

我正在尝试用Java编写文本编辑器,但是我遇到了一些问题。

我可以使用insertIcon()向JTextPane添加图像,但是当我保存它时文件为空,我试图将其保存为.doc。 当我尝试更改字体时它是一样的,它适用于JTextPane,但是当我保存它的默认字体时,不是我拥有的字体/大小。

这是我的saveFile方法:

      try {
        BufferedWriter writer = new BufferedWriter(new FileWriter(filename));
        writer.write(text.getText());
        writer.close();
        saved = true;
    } catch (IOException err) {
        err.printStackTrace();
    }
}

提前致谢:P

编辑:

我在我的JTextPane中插入图像,如下所示:

JFileChooser open = new JFileChooser();
            open.showOpenDialog(null);
            File file = open.getSelectedFile();
            Icon image = new ImageIcon(String.valueOf(file));
           text.insertIcon(image);

我使用上面的saveFile方法将JTextPane保存到文件中。 图像被添加到JTextPane,一切都很好。但是当我打开文件时图像不存在。

2 个答案:

答案 0 :(得分:0)

您可以在关闭之前尝试刷新写入器。添加行writer.flush()。这将刷新底层输出流。基本上这里开始写文件。

编辑:我测试了代码并将其写入文件。您的问题是该字体与保存之前的字体不一样吗?

答案 1 :(得分:0)

您需要使用EditorKit。我明天会写一个更准确的答案。