富文本编辑器必须用Java实现,提供Swing支持,最好是开源的。
我希望将它集成到现有的Java / Swing应用程序中。
感谢。
答案 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类型编辑器(两者都包含在几个类中)。
答案 4 :(得分:4)
JWord是一个商业swing富文本编辑器,具有表,分页和RTF / opendoc / XML支持。 还支持页眉/页脚,多列布局,导出HTML,SVG,WMF等。
JRichTextEditor是一个开源的swing小部件,它非常适合记笔记。支持图像,简单的XML格式存储,导出为PDF,HTML。不像JWord那样先进,而是开源。
可能有帮助。