这是我的代码:
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 上的演示中实现保存/加载。
我在以下几行中遇到错误:
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 格式的文本?
谢谢