34

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

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

谢谢。

4

5 回答 5

23

这可能不像您所追求的那样直接......但 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 分钟后撤消 - 其他按钮(如列表)需要更长的时间,但不会太多。

于 2008-10-13T08:51:17.723 回答
10

尝试基于 Charles Bell 的MetaPhase 编辑器HTMLDocumentEditor。它是LGPL v3许可的,非常棒,特别是作为使用 的示例,在此处StyledEditorKit讨论。

于 2010-04-29T09:59:14.933 回答
8

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

于 2008-10-13T14:43:55.093 回答
7

我检查了一下,我找不到一个只有一个文本编辑器的 jar 文件。但是,这里有 2 个其他选项

选项 A使用 Swing 并自己构建一个。Swing 在 javax.swing.text 中已经包含了很多组件,尽管它仍然需要大量的代码。我在这里找到了一个例子

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

  1. 备忘录(GPL):它的文本编辑或在 net.sf.memoranda.ui.htmleditor.HTMLEditor 中。它是一个 JPanel,只使用一个其他类。
  2. Ekit (LGPL):它是一个功能齐全的 WYSIWYG Html 编辑器。它的 com.hexidec.ekit.EkitCore 类是一个 JPanel,看起来相当多用途,尽管它使用了包中的许多其他类。

假设您有预算,还有一堆商业可用:)

于 2008-11-28T05:49:18.600 回答
4

看看JWordJRichTextEditor

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

JRichTextEditor 是一个开源的 Swing 小部件,非常适合做笔记。支持图像,一种简单的 XML 格式存储,导出为 PDF、HTML。不如 JWord 先进,但开源。

可能有帮助。

于 2010-04-29T09:48:59.020 回答