1

这是我的代码:

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 等式约束:ParStyleCollection<String>

我已经添加了所有必需的.java文件并将它们导入到我的主代码中。我认为实现这个演示会相对简单,但它只是令人头疼。

如果这无法解决,有没有人知道另一种方法来保存带有 RichTextFX 格式的文本?

谢谢

4

0 回答 0