在Java中所见即所得的文本编辑器
我想在这里收集所有所见即所得的Java文本编辑器。
一些条目的规则:
- 必须有一个项目/产品的链接
- 你必须说明是开源还是商业
- 是否可以扩展编辑器(添加“紫色中心数独”等新function)? 这是简单还是复杂?
- 它是否带有许多function(花式字符和段落样式,在同一个文档中的几种语言的在线拼写检查)或只是基本(粗体,斜体,没有下划线)?
- 列出重要的依赖关系(是否在Swing?SWT?MacOS上运行在纯Java上)
- 你的个人意见
该列表应该有助于开发人员确定select哪个编辑器。 我不是在寻找“最好的”,而是更多的“那里有什么”。
JWebEngine
我推荐JWebEngine 。 这是我唯一知道通过ACID1浏览器testing和邮件testing的人。 大多数其他的Java HTML编辑器都基于javax.swing.text.html.HTMLDocument并具有所有相同的错误。 HTMLDocument对CSS的支持很差。 JWebEngine对使用CSS查看HTML有很好的支持。
- 链接到网站 。 也有在线样本。
- 商业执照
- 扩展非常简单。 供应商将其用于编辑器,HTML打印引擎,显示自定义占位符等许多不同的东西。类似Sun HTMDocument的可见性没有问题。
- 它基于javax.swing.text.JEditorPane或javax.swing.text.JTextPane,可以与拼写检查器JOrtho等第三方工具一起使用。
- 它是纯Java,可以在Java SE 5或更高版本的所有平台上运行。 它也运行在未签名的小程序中。
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);
OpenOffice的作家
可以使用OOoBeanembedded到Java中。 原始代码在Swing下运行,但是也可以使用AWT / SWT Bridge( 示例代码 )在SWT下运行。
该项目是开源( LGPL )。 代码取决于操作系统,但是所有主要操作系统都有可用的版本(项目网站支持Windows,Linux,MacOS和Solaris,但您也可以下载源代码并为其他人编译)。
由于底层产品是一个完整的办公应用程序,它提供了您可能想要的所有function(花式样式,在不同语言的在线拼写检查,embedded图片,图片周围的stream文本,您的名字)。
缺点是你必须安装OpenOffice。 实际上,编辑器不是Java的一部分,但它是一个在Java应用程序窗口中呈现的远程过程。 这意味着启动时间非常明显,性能可能会很低。 处理有时也是“奇怪的”。 它需要一些configuration来摆脱额外的边界和不需要的文档分页。
因此,编辑器并不是真的可以从Java扩展。 您将不得不用C ++编写代码或使用OOo自带的内置语言。 你可以做的是你可以在文档中注册监听器,并且你可以完全访问文档的底层模型。 这样,你就可以把重要的部分挂钩,并修改行为,但这往往就像进行锁眼手术。
我的结论是:如果面向对象具有你所需要的function,这可能是获得你所需要的最简单的方法。 如果你需要大量的定制,那么你将会对抗框架默认的上游战斗。
我需要为我们的应用程序,同样的事情做了一个研究,并发现了两个产品EKit和Metaphase编辑器 ,基于查尔斯贝尔的HTMLDocumentEditor
,LGPL许可证下,看起来不错。
但我没有testing他们。 这些天我们将看到我们select什么。
简单的HTML
- 它的GPL
- 不知道扩展它有多容易
- 不支持拼写检查,但有表格,列表。
- 基于Swing,需要Java 1.4和可选的Java Help
- 我没有用它作为程序员 – 就像最终用户一样,它有一些怪癖 – 就像没有多层次的列表或者表格不是很好,但是没问题。
- 另外它是HTML给你的,所以很容易将处理结果embedded到其他组件中。
- 现在在SourceForge上
docx4all
docx4all是一个跨平台的所见即所得的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。
- 这里是链接: JRichTextEditor
- 它是开源的(LGPL)。
- 你可以随心所欲地做任何事情。 只要从github克隆它。 它是可扩展的。
- 它具有相当多的function,但增强function是受欢迎的。 这是一个swing组件,依赖于iText 2.1.7(这仍然是LGPL)和其他库(如xerces)。 一个显着的特点是可以添加任何类的标记点/范围。 哪些可以用于超链接或其他。 在库中还有一个帮助应用程序。
使用HTML WYSIWYG编辑器和SWT浏览器组件 ( 请参阅示例代码片段 )。 选项:
- SWTcomposer php
- EPF富文本
- richhtml4eclipse (基于TinyMCE )
- SWT浏览器小工具来呈现一个TinyMCE所见即所得的编辑器
优点:
- 由于HTML有很多选项
- 支持HTML作为本机格式(因此当您需要将文档保存到某处或修改它们时,不会出现不寻常的问题,不像本地Word格式)。
- 使用字体,颜色和图像很简单,因为您不必自己pipe理资源。 浏览器组件将为你做
魂斗罗:
- 解决scheme是平台依赖的。 使用richhtml4eclipse进行的testing在Windows XP(IE)和Mac OSX(Safari)上显示出不同的行为,
- 如果出现问题,用户将不得不切换到HTML代码视图并自行修复。
- 祝你好运,内容帮助,代码完成,拼写检查,折叠或注释。
- 添加特殊function将迫使您通过非常简单的API来进行锁孔手术
- 有了这些编辑人员,性能并不是很好,特别是对于大型文档。
- 取决于SWT。
来源: Lösungenfüreinen SWT富文本编辑器
看看JWord
- 这是商业的
- 很多function(表格,分页,H / F,列布局,WMF,SVG,复制粘贴,RTF,ODT,HTML导出)
- 免版税
- 纯Java的Swing(1.6)
- 可扩展(基于Swing Text API)
富文本查看器
优点:
- 提供拼写检查,代码完成,撤销/重做,自动缩进以及大多数其他function( 请参阅此处 )
魂斗罗:
- 取决于SWT
- 不支持表格
Eclipse项目已经复活了Vex(Visual Editor for XML)
从维基页面:
- Vex利用构成Eclipse Java IDE的许多成熟插件(如CVS界面, 文档search和书签工具以及可search的帮助系统) 。
- Eclipse平台实现了一个复杂的插件架构,使得Vex 可以通过第三方或定制的内部插件进行扩展。
- Vex可用于多种平台的本机外观 ,包括Windows,Linux / GTK和Macintosh OS-X / Carbon。
- 使用Eclipse IDE的Java开发人员可以将Vex作为插件安装到他们的IDE中,这使得使用Vex 维护软件文档或其他XML文件变得容易。
- Vex是可重用的:Vex编辑器小部件可作为一个纯Java,跨平台的组件与绑定SWT。 开发人员可以重新使用这个小部件 ,例如作为一个RCP应用程序。
版本1.0已于2012年发布,计划2013年发布1.1版本。
用户指南