Java中的WYSIWYG文本编辑器

时间:2009-05-12 14:26:28

标签: java editor wysiwyg

我想在这里收集Java的所有WYSIWYG文本编辑器。

条目的一些规则:

  • 必须有项目/产品的链接
  • 您必须说明它是开源的还是商业的
  • 是否可以扩展编辑器(添加“紫罗兰中心数独”等新功能)?那简单还是复杂?
  • 它是否附带了许多功能(花哨的字符和段落样式,在同一文档中对多种语言进行在线拼写检查)或仅仅是基础(粗体,斜体,没有下划线)?
  • 列出重要的依赖关系(它是在带有Swing?SWT?MacOS的裸Java上运行的?)
  • 您的个人意见

此列表可帮助开发人员确定选择哪个编辑器。我不是在寻找“最好的”,而是更多的“那里有什么”。

11 个答案:

答案 0 :(得分:7)

RSyntaxTextArea

我使用过此组件,效果很好。它是LGPL,它基于javax.swing.text包(javax.swing.text.EditorKit)。 由于它是一个Swing组件,因此可以通过几行代码集成到您的应用程序中:

RSyntaxTextArea textArea = new RSyntaxTextArea();
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
RTextScrollPane sp = new RTextScrollPane(textArea);

答案 1 :(得分:7)

<强> JWebEngine

我建议JWebEngine。这是我所知道的唯一通过ACID1浏览器测试和邮件酸测试的人。大多数其他Java HTML编辑器都基于javax.swing.text.html.HTMLDocument并具有所有相同的错误。 HTMLDocument对CSS的支持很差。 JWebEngine非常支持使用CSS查看HTML。

  • Link to the website。还有在线样本。
  • 商业执照
  • 扩展非常简单。供应商正在将它用于许多不同的东西,如编辑器,HTML打印引擎,显示自定义占位符等。类似于Sun HTMDocument的类的可见性没有问题。
  • 它基于javax.swing.text.JEditorPane或javax.swing.text.JTextPane,您可以将它与第三方工具一起使用,例如拼写检查器JOrtho。
  • 它是纯Java,可在Java SE 5或更高版本的所有平台上运行。它也可以在非签名小程序中运行。

答案 2 :(得分:4)

OpenOffice的作家

可以使用OOoBean嵌入Java。原始代码在Swing下运行,但您也可以使用AWT / SWT Bridge(example code)在SWT下运行。

该项目是开源的(LGPL)。代码依赖于操作系统,但有适用于所有主要操作系统的版本(项目网站上支持Windows,Linux,MacOS和Solaris,但您也可以下载源代码并为其他操作系统编译)。

由于基础产品是一个完整的办公应用程序,它提供了您可能想要的所有功能(花哨的样式,不同语言的在线拼写检查,嵌入图片,图片周围的流文本,您的名字)。

缺点是您必须安装OpenOffice;事实上,编辑器不是Java的一部分,但它是一个远程进程,只需在Java应用程序窗口中呈现。这意味着启动时间非常明显,性能可能会很慢。处理有时也是“奇怪的”。它需要一些配置来摆脱额外的边框和不需要的文档分页。

因此,编辑器无法从Java扩展。您将需要使用C ++编写代码或使用OOo自己的内置语言编写代码。您可以做的是您可以在文档中注册侦听器,并且您可以完全访问该文档的基础模型。这样,您可以挂钩重要部分并修改行为,但这通常就像执行锁孔手术一样。

我的结论:如果OO具有您需要的功能,这可能是获得所需功能的最简单方法。如果您需要大量的自定义,那么您将针对框架的默认值进行上游争夺。

答案 3 :(得分:3)

Simply HTML

  • 其GPLed
  • 不知道扩展它有多容易
  • 不支持拼写检查,但有表格,列表。
  • 基于Swing,需要Java 1.4和可选的Java帮助
  • 我没有将它用作程序员 - 就​​像最终用户一样,它有一些怪癖 - 比如没有多级列表或表不是很好但是没问题。
  • 另外它为您提供HTML,因此很容易将处理结果嵌入到其他组件中。
  • 现在SourceForge

答案 4 :(得分:3)

我需要为我们的应用程序做同样的事情,做了一项研究,并根据Charles Bell的EKit找到了另外两个产品Metaphase EditorHTMLDocumentEditor,这两个产品都是在LGPL许可下并且看起来很好。

但我没有测试它们。这些天我们会看到我们选择的东西。

答案 5 :(得分:1)

<强> docx4all

docx4all是一个跨平台的WYSIWYG编辑器,用于docx文件,使用Java Swing和JavaFX Script。作为applet或应用程序运行。见http://dev.plutext.org/trac/docx4all/wiki/FeatureSet

开源还是商业?见http://dev.plutext.org/forums/viewtopic.php?f=7&t=209

需要Java 6.

答案 6 :(得分:1)

  • 以下是链接:JRichTextEditor
  • 它是开源的(LGPL)。
  • 你可以用它做任何你想做的事。只需从github克隆它。它是可扩展的。
  • 它具有相当多的功能,但欢迎增强功能。它是一个swing组件,取决于iText 2.1.7(仍然是LGPL)和其他库(例如xerces)。一个值得注意的特征是可以添加任何类的标记点/范围。哪个可以用于超链接或其他什么。在图书馆中还有一个帮助应用程序。

答案 7 :(得分:0)

使用HTML WYSIWYG编辑器和SWT browser componentsee the snippets for examples)。选项:

临:

  • 由HTML引起的很多选项
  • 支持HTML作为本机格式(因此,当您需要将文档保存到某处或修改它们时,不会出现异常问题,例如,与本机Word格式不同)。
  • 使用字体,颜色和图像很简单,因为您不必自己管理资源。浏览器组件将为您完成

魂斗罗:

  • 解决方案取决于平台。使用richhtml4eclipse进行的测试在Windows XP(IE)和Mac OSX(Safari)上显示出不同的行为
  • 如果出现问题,用户必须切换到HTML代码视图并自行修复。
  • 祝你好运内容协助,代码完成,拼写检查,折叠或注释。
  • 添加特殊功能将迫使您通过非常简单的API进行锁孔手术
  • 对于许多这样的编辑器,性能并不是那么好,特别是对于大型文档。
  • 取决于SWT。

来源:Lösungen für einen SWT Rich Text Editor

答案 8 :(得分:0)

Rich Text Viewer

临:

  • 提供拼写检查,代码完成,撤消/重做,自动缩进以及您期望的大多数其他功能(see here

魂斗罗:

  • 取决于SWT
  • 不支持表格

答案 9 :(得分:0)

查看JWord

  • 这是商业
  • 许多功能(表格,分页,H / F,列布局,wmf,svg,复制粘贴,RTF,ODT,HTML导出)
  • 免权利
  • 纯Java-Swing(1.6)
  • 可扩展(基于Swing Text API)

答案 10 :(得分:0)

Eclipse项目已复活Vex (Visual Editor for XML)

来自维基页面:

  • Vex利用构成Eclipse Java IDE的许多成熟插件,例如 CVS 界面,文档搜索书签设施和可搜索的帮助系统
  • Eclipse平台实现了复杂的插件架构,允许使用第三方或自定义的内部插件扩展Vex
  • Vex具有多种平台的原生外观,包括Windows,Linux / GTK和Macintosh OS-X / Carbon。
  • 使用Eclipse IDE的Java开发人员可以将Vex作为插件安装到他们的IDE中,使用Vex轻松维护软件文档或其他XML文件
  • Vex是可重用的:Vex编辑器小部件可用作带有绑定SWT的纯Java跨平台组件。开发人员可以重新使用此小部件,例如作为RCP应用程序。

1.0版已于2012年发布,计划于2013年发布1.1。

User guide