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