Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人能推荐一个Java富文本编辑器吗?_Java_Swing_Editor_Rtf - Fatal编程技术网

有人能推荐一个Java富文本编辑器吗?

有人能推荐一个Java富文本编辑器吗?,java,swing,editor,rtf,Java,Swing,Editor,Rtf,富文本编辑器必须用Java实现,提供Swing支持,最好是开源的 我希望将其集成到现有的Java/Swing应用程序中 谢谢。这可能不像你所追求的那样简单。。。但是JTextPane支持富文本和HTML。 让它显示rtf或html很简单,只需在填充内容之前设置编码类型即可 至于制作小“B”和“I”等样式的修改按钮,如果归结起来,在紧要关头,你自己也不会很难制作。 想想设置了图标的JButton。它们的侦听器获得JTextPane当前选择的开始和结束索引位置,如下所示: jpane.getSele

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

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


谢谢。

这可能不像你所追求的那样简单。。。但是JTextPane支持富文本和HTML。 让它显示rtf或html很简单,只需在填充内容之前设置编码类型即可

至于制作小“B”和“I”等样式的修改按钮,如果归结起来,在紧要关头,你自己也不会很难制作。 想想设置了图标的JButton。它们的侦听器获得JTextPane当前选择的开始和结束索引位置,如下所示:
jpane.getSelectionStart()
jpane.getSelectionEnd()
然后在这些位置插入开始和结束html/rtf标记

撤销也很容易-维护Jpanel的字符串内容的简单堆栈,每次用户执行编辑操作时,一个简单的
history.push(jpane.getText())
将存储状态,撤销按钮将像
jpane.setText(history.pop())
一样简单


我/你可以在大约30分钟内用B、I和undo制作一个,我想其他按钮如列表会花费更长的时间,但不会太长。

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

我四处查看,找不到一个只有文本编辑器的jar文件。 然而,这里还有两个选择

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

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

  • (GPL):它的文本编辑或在net.sf.memoranda.ui.htmleditor.htmleditor中。它是一个JPanel,只使用另一个类
  • (LGPL):这是一个功能齐全的所见即所得Html编辑器。它的com.hexidec.ekit.EkitCore类是一个JPanel,似乎有相当多的用途,尽管它使用了包中的许多其他类
  • 如果你有预算的话,也有很多商业软件可用:)

    看看或者

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

    JRichTextEditor是一个开源的swing小部件,可以用来做笔记。支持图像,一种用于存储、导出为PDF、HTML的简单XML格式。没有JWord那么先进,但是开源


    可能会有帮助。

    根据查尔斯·贝尔的经验,尝试一下。它是经过许可的,而且非常棒,特别是作为使用
    StyledEditorKit
    的一个例子,我们已经讨论过了。

    可能有些过火,但它确实是最终的解决方案:DIt工作正常。但这不是一个简单的解决方案,因为OOBean是一个很重的组件,而Swing是一个很轻的组件。这两种机制的结合并不理想。虽然它包含一些bug,但它有足够的现成功能。。我现在看的是整个系统的可扩展性。。也许你可以压缩更多的功能(比如从磁盘驱动器添加一个映像)…上面的URL似乎已经死了,试试这个:。我不知道abt Swing,但似乎完全是Java。。它的开源工具是如何用这种方法处理样式文本的复制/粘贴?@AlekseyOtrubennikov你可以自己实现一个
    UndoManager