问题标签 [htmleditorkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
626 浏览

java - TextArea 或 java 中将格式化的字符串转换为 html 的东西

我不知道如何正确地提出我的问题,但我正在寻找这样的东西: 在此处输入图像描述

但我想将其保存为数据库中的 html 代码,如下所示:

你能推荐一个我可以使用的库或组件吗?谢谢!

0 投票
1 回答
218 浏览

java - 使用 HTMLEditorKit 缓慢解析动态 JTextPane

我有以下问题,我正在使用带有 HTMLEditorKit 的 JTextPane,并动态地将内容添加到窗格中。内容可以超过几行,还包含大量图像(小图标)。现在的问题是,如果我通过以下方式插入例如一堆带有图标的文本:

结果是,html 代码中的图像需要很长时间才能出现在屏幕上(~1 秒):

在此处输入图像描述

问题:有没有办法通过以下方式缓冲窗格中显示的图像(如果它是 html 代码):

由于 HTMLEditor,我不能使用 pane.insertIcon。是否有某种容器将其设置为不可见,将内容添加到窗格,然后将容器设置为可见?

0 投票
1 回答
428 浏览

java - JTextPane使用 html垂直对齐文本和图像

到目前为止,我几乎已经尝试了所有方法,我还读到,Java 的 HTML 渲染真的很有限,只能像 HTML 3/2 或类似的东西。所以大多数现代 CSS 样式都不起作用。基本上我需要小图标(10x10px)与多行文本垂直对齐,但我找不到有效的解决方案。我发现的唯一解决方法是创建一个表:

这有效,但仅适用于单行,如果有换行,它显然不再有效。

通常在浏览器中工作的所有其他解决方案在 JTextPane 中不起作用,例如style="float: left;"在 div 中设置表格,或者仅vertical-align: middle;与 img 和 div 元素一起使用。

是否有一种“肮脏”的方式来操纵 HTMLEditorKit 的 getViewFactory 以返回低于它们应该呈现的几个像素的所有 ImageView?

0 投票
1 回答
182 浏览

java - 带有 HTML 的 JScrollBar + JTextPane 无法正确滚动到最大值

我在我的一个项目中遇到了以下问题,我花了一段时间才弄清楚是什么导致了问题,我可以用我附上的这个简单的代码来重现它。

我正在使用 HTMLEditorKit 向 JTextPane 动态添加内容。我将自动滚动设置为关闭,因为我想手动控制它(当用户向上滚动、停止以及触发事件以再次激活时)。

现在的问题是,当我将 JScrollBar 的值设置为最大值时,它是一个不同的值,只是在将内容插入 HTMLDocument 之后的那一刻。当我再次手动触发 setValue 时,它​​会滚动到正确的最大值。

似乎 JScrollBar 在添加到 HTMLDocument 之后就没有意识到正确的 maximumValue ,并且只是在(延迟的)时间之后。

使用

不是解决方案,因为它也无法正常工作。它也不会滚动到最大值,在下面留下一个视图像素,这是我不想要的。

这是重现该问题的完整代码。如果单击右键(添加和滚动),它会在正文中插入一个 DIV 元素。到达最后一个可见行的那一刻,它不能正确滚动到最后一个最大值,最后一行被隐藏。但是当您手动单击左侧按钮以触发第二个 scrollToEnd() 时,它会正确滚动到最大值。

代码:

这个代码替换虽然有效,但留下了一个小间隙,也没有正确滚动到最大值:

0 投票
1 回答
840 浏览

java - 如何正确初始化 JTextPane 样式表,以便其他启用 HTML 的组件不受样式影响?

我正在尝试使用 aJTextPane来呈现一些 HTML 并向其应用 CSS 样式表。这意味着我正在使用HTMLEditorKitStyleSheet类。我知道它们都HTMLEditorKits共享相同的默认StyleSheet实例,因此如果您更改此默认样式表对象,您将在应用程序级别应用更改(所有呈现 HTML 的组件)。

但在我的示例中,我认为我已经通过StyleSheet基于默认值创建自己的实例来避免这种情况。但是,这不起作用,正如显示的JTree那样,它按照样式表呈现,该样式表仅适用于JTextPane.

呈现的例子

那么如何正确地初始化这些对象,以使应用程序中没有 CSS 溢出(这样文本窗格根据 CSS 呈现,而树没有)?

注意:上图中红色下划线表示溢出问题,是我后来添加的(不是,不是渲染器)。

0 投票
1 回答
217 浏览

java - 在 JTextPane 中显示和保存图像

我需要编写一个像 Word 这样的编辑器。它需要支持编辑文件,插入和删除图像和其他一些东西。
我选择 JTextPane 来做这些事情。
我像这样使用 imageIcon 加载和显示图像:

我现在面临的问题是如何将图像保存到文件中?我使用 HTMLDocument 和 HTMLEditorKit 来实现 save 方法,主要逻辑如下:

Kit 和 doc 是我的 Page 类(派生自 JTextPane 的 Page)中的私有成员。在saveAs方法执行后,保存的文件不包括图像:

从 HTML 文件中我们可以看到image path没有编码到那里,我想知道如何实现saveAs支持保存图像的方法?
非常感谢!

0 投票
1 回答
130 浏览

java - 的行为JEdi​​torPane 中的键(使用 HtmlEditorKit)

如果我把光标放在中间<p>A line of text</p>并点击enter我得到

这是在我的 Linux 开发机器上。

当我在 Windows 机器上运行相同的应用程序时,我得到

\n插入而不是创建额外的<p>元素。由于\n只是在 HTML 中呈现为一个空间,enter所以当我在 Windows 上时基本上不起作用。

问题:如何在 Windows 上强制插入<p>行为?enter

0 投票
0 回答
99 浏览

ajax - 类型“AjaxControlToolkit.HtmlEditorExtender”没有名为“EnableSanitization”的公共属性

因为我是初学者,所以我使用了 html 编辑器,但它在本地运行良好,但在服务器上它显示此错误类型'AjaxControlToolkit.HtmlEditorExtender'没有名为“ EnableSanitization”的公共属性。

我有一个财产,EnableSanitization="false"但我不知道其中有什么问题

0 投票
0 回答
249 浏览

java -
使用自定义 HTMLEditorKit 时Java JTextPane 忽略标记

在我的应用程序中,我使用嵌入在 JScrollPane 中的 JTextPane 来显示使用 HTML 标记格式化的文本。起初我使用 JTextArea,但后来切换到 JTextPane 以便能够使用 HTML 和颜色。然后我需要 JTextPane 来支持基于字母的换行,而不仅仅是默认的空格换行。换句话说,如果内容太长,它应该被包裹起来,JScrollPane 的水平滚动条不应该是可见的。

因此,我在这个答案中找到了一个完美的解决方案:https ://stackoverflow.com/a/6330483/3871673 。它为 JTextPane 使用自定义 HTMLEditorKit。

但是使用这个解决方案,JTextPane 会忽略任何带有 HTML 标记的换行符<br>。我不得不承认我真的不知道解决方案中的代码是如何工作的。如果有人能找到如何让 HTML 新行<br>标签与这个解决方案一起工作,那就太好了。

这是一个最小、完整且可验证的示例:

0 投票
0 回答
67 浏览

java - 使用 Java HtmlEditorKit 保存汉字

我正在尝试通过以下方式使用 HtmlEditorKit 保存包含中文字符的 HtmlDocument(使用 UTF-8 编码保存):

在输出 HTML 文档中,我得到两个 2 字节字符(amp#55361;amp#57102;)而不是一个 4 字节字符。Java 可以通过将两者结合起来理解它是哪个符号,但 HTML 不能。
关于如何保存它的任何建议,以便可以正确显示 HTML 页面?

这是输出html: