富文本编辑器必须用 Java 实现,提供 Swing 支持,最好是开源的。
我希望将它集成到现有的 Java/Swing 应用程序中。
谢谢。
这可能不像您所追求的那样直接......但 JTextPane 支持富文本和 HTML。让它显示rtf 或 html 很简单,只需在填充内容之前设置编码类型。
至于制作小的“B”和“ I ”等样式修改按钮,如果归根结底,在紧要关头,自己制作并不难。想想带有图标集的 JButton。他们的听众像这样获得 JTextPane 的当前选择开始和结束索引位置:
jpane.getSelectionStart()
或者 jpane.getSelectionEnd()
然后在这些位置插入开始和结束 html/rtf 标记。
撤消也很容易——维护一个简单的 Jpanel 字符串内容堆栈,每次用户执行编辑操作时,一个简单的history.push(jpane.getText())
都会存储状态,撤消按钮就像jpane.setText(history.pop())
.
我/你可以用 B 制作一个,我估计大约 30 分钟后撤消 - 其他按钮(如列表)需要更长的时间,但不会太多。
尝试基于 Charles Bell 的MetaPhase 编辑器HTMLDocumentEditor
。它是LGPL v3许可的,非常棒,特别是作为使用 的示例,在此处StyledEditorKit
讨论。
您可以在 Swing 应用程序中嵌入所有开源富文本编辑器的母体:OpenOffice.org 提供了一个“OOBean”,您可以使用它在 Swing 应用程序中嵌入完整的 OpenOffice 实例。
我检查了一下,我找不到一个只有一个文本编辑器的 jar 文件。但是,这里有 2 个其他选项
选项 A使用 Swing 并自己构建一个。Swing 在 javax.swing.text 中已经包含了很多组件,尽管它仍然需要大量的代码。我在这里找到了一个例子
选项 B从开源项目中清除代码。我发现 2 个项目具有非常好的 HTML WYSIWYG 类型编辑器,可以提取(两者都包含在几个类中)。
假设您有预算,还有一堆商业可用:)
JWord 是一个商业摇摆富文本编辑器,具有表格、分页和 RTF/opendoc/XML 支持。还支持页眉/页脚、多列布局、导出 HTML、SVG、WMF 等。
JRichTextEditor 是一个开源的 Swing 小部件,非常适合做笔记。支持图像,一种简单的 XML 格式存储,导出为 PDF、HTML。不如 JWord 先进,但开源。
可能有帮助。