RTFEditorKit,JEditorPane:当尝试保存到新的rtf文件时,JEditor窗格为空

时间:2015-08-27 19:09:09

标签: java swing rtf jeditorpane

在下面的代码中,我有一个简单的文字处理器(我之前只是简单的文本)和RTF。我加载文件并阅读它们很好,(只是没有图像和表格,这是我所关心的摆动库中包含的rtfeditorkit的限制)。问题是在保存阶段,它不断抛出NullPointerExceptions,我跟踪并发现显然Java认为我的JEditorPane上没有任何东西(使用swing接口提供的getText方法)。我应该使用其他方法从JEditorPane获取文本吗?它加载绝对正确,所以..

以下是问题方法的代码片段:

保存方法:

private void saveMenuActionPerformed(java.awt.event.ActionEvent evt) {                                         
BufferedWriter writer;




try {
    writer = new BufferedWriter(new FileWriter(this.fileName));
   writer.write(editPane.getText());
//This returns a null pointer exception
    writer.close();
}
catch (IOException ioe) {
    this.editPane.setText("I/O");


}

加载方法:

 private void loadMenuActionPerformed(java.awt.event.ActionEvent evt) {                                         
JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {

    BufferedReader reader;
    StringBuilder stringBuilder = new StringBuilder();
    try {
        reader = new BufferedReader(new FileReader(fileChooser.getSelectedFile()));
        while (reader.ready()) {
            stringBuilder.append(reader.readLine() + "\n");
        }
        reader.close();
        this.editPane.setText(stringBuilder.toString());
        this.fileName = fileChooser.getSelectedFile();
    }
    catch (IOException ioe) {
        this.editPane.setText("IO  Ex");
    }
 }
}

http://i.imgur.com/TolZygT.png

执行的图像,它很好地加载,但我不能将我的版本保存到新文档。

谢谢,对不起,如果已经被问到,我无法找到答案。

0 个答案:

没有答案