富文本编辑器必须用Java实现,提供Swing支持,最好是开源的.
我希望将它集成到现有的Java/Swing应用程序中.
谢谢.
这可能不像你之前那样落实到位......但JTextPane支持富文本和HTML.要让它显示 rtf或html很简单,只需在填充内容之前设置编码类型即可.
至于制作小"B"和" I "等样式修改按钮,如果它归结为它,在一个不会很难自己创造的压力.认为JButtons与图标设置.他们的听众获得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类型编辑器(两者都包含在几个类中).
备忘录(GPL):其文本编辑或位于net.sf.memoranda.ui.htmleditor.HTMLEditor中.它是一个JPanel,只使用另一个类.
Ekit(LGPL):它是一个功能齐全的WYSIWYG Html编辑器.它的com.hexidec.ekit.EkitCore类是一个JPanel,看起来相当多用,虽然它使用了包中的很多其他类.
假设你有预算:)还有一堆商业可用的:)