任何人都可以推荐Java富文本编辑器吗?

时间:2008-10-13 08:09:55

标签: java swing editor rtf

富文本编辑器必须用Java实现,提供Swing支持,最好是开源的。

我希望将它集成到现有的Java / Swing应用程序中。

感谢。

5 个答案:

答案 0 :(得分:23)

这可能不像你之前那样落地......但JTextPane支持富文本和HTML。 将它设置为显示 rtf或html很简单,只需在用内容填充之前设置编码类型即可。

至于制作小“B”和“ I ”等样式修改按钮,如果它归结为它,那么在一个不会让自己变得非常困难的时候。 认为JButtons与图标设置。他们的听众获得JTextPane当前选择的开始和结束索引位置,如下所示: jpane.getSelectionStart()jpane.getSelectionEnd() 然后在这些位置插入打开和关闭html / rtf标记。

撤销也很简单 - 维护Jpanel的字符串内容的简单堆栈,每次用户执行编辑操作时,简单的history.push(jpane.getText())将存储状态,撤消按钮将如此简单jpane.setText(history.pop())

我/你可以用B, I &在大约30分钟内撤消我估计 - 像列表这样的其他按钮需要更长时间,但不是很多。

答案 1 :(得分:10)

根据Charles Bell的MetaPhase editor尝试HTMLDocumentEditor。它是LGPL v3许可的,非常好,特别是作为使用StyledEditorKit的示例,讨论了here

答案 2 :(得分:7)

您可以在Swing应用程序中嵌入所有开源富文本编辑器的母亲:OpenOffice.org提供了一个“OOBean”,您可以使用它在Swing应用程序中嵌入完整的OpenOffice实例。

答案 3 :(得分:6)

我查了一下,我找不到只有文本编辑器的jar文件。 然而,还有其他2个选项

选项A 使用Swing并自行构建一个。 Swing有许多已经在javax.swing.text中涵盖的组件,尽管它仍然需要大量的代码。我找到了一个例子here

选项B 清除开源项目中的代码。我找到了2个项目,其中包含可以提取的非常好的HTML WYSIWYG类型编辑器(两者都包含在几个类中)。

  1. Memoranda(GPL):其文本编辑或位于net.sf.memoranda.ui.htmleditor.HTMLEditor中。它是一个JPanel,只使用另一个类。
  2. Ekit(LGPL):它是一个功能齐全的WYSIWYG Html编辑器。它的com.hexidec.ekit.EkitCore类是一个JPanel,看起来相当多用,虽然它使用了包中的很多其他类。
  3. 假设您有预算,还有一堆商业可用:)

答案 4 :(得分:4)

查看JWordJRichTextEditor

JWord是一个商业swing富文本编辑器,具有表,分页和RTF / opendoc / XML支持。 还支持页眉/页脚,多列布局,导出HTML,SVG,WMF等。

JRichTextEditor是一个开源的swing小部件,它非常适合记笔记。支持图像,简单的XML格式存储,导出为PDF,HTML。不像JWord那样先进,而是开源。

可能有帮助。