这是我的代码:
private void save(File file) {
StyledDocument<ParStyle, Either<StyledText<TextStyle>, LinkedImage<TextStyle>>, TextStyle> doc = textarea.getDocument();
// Use the Codec to save the document in a binary format
textarea.getStyleCodecs().ifPresent(codecs -> {
Codec<StyledDocument<ParStyle, Either<StyledText<TextStyle>, LinkedImage<TextStyle>>, TextStyle>> codec
= ReadOnlyStyledDocument.codec(codecs._1, codecs._2, textarea.getSegOps());
try {
FileOutputStream fos = new FileOutputStream(file);
DataOutputStream dos = new DataOutputStream(fos);
codec.encode(dos, doc);
fos.close();
} catch (IOException fnfe) {
fnfe.printStackTrace();
}
});
}
我正在尝试从RichTextFX GitHub上的here实现保存/加载。
我在以下几行中遇到错误:
StyledDocument<ParStyle, Either<StyledText<TextStyle>, LinkedImage<TextStyle>>, TextStyle> doc = textarea.getDocument();
错误:不兼容的类型:
StyledDocument<Collection<String>,StyledText<Collection<String>>,Collection<String>>
无法转换为StyledDocument<ParStyle,Either<StyledText<TextStyle>,LinkedImage<TextStyle>>,TextStyle>
和
= ReadOnlyStyledDocument.codec(codecs._1, codecs._2, textarea.getSegOps());
错误:不兼容的类型:推断类型不符合相等性 约束推断:
ParStyle
等式约束:ParStyle
,Collection<String>
我添加了所有必需的.java
文件并将其导入我的主代码中。我认为实施这个演示是相对微不足道的,但它只不过是令人头疼的事。
如果无法解决此问题,是否有人知道使用RichTextFX格式保存文本的替代方法?
谢谢