在下面的代码中,我有一个简单的文字处理器(我之前只是简单的文本)和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
执行的图像,它很好地加载,但我不能将我的版本保存到新文档。
谢谢,对不起,如果已经被问到,我无法找到答案。