问题标签 [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 投票
3 回答
12766 浏览

java - 在 Java 中解析 HTML 数据,包括 < 和 > 标签?

我想用 Java 解析 HTML 文本。

我尝试使用javax.swing.text.html.HTMLEditorKit解析 HTML 数据。它帮助我从 HTML 中获取数据。但我有一个 HTML 数据,比如 -

周围有'<''>' 而不是'<''>'

在解析上述文本时,我收到错误 -

请建议我解决我的问题。提前致谢。

0 投票
1 回答
346 浏览

java - 公共页面中复选框的 Java 编辑器 HTML 工具包类侦听器

我正在使用 java 编辑器 HTML 工具包类来显示一个包含复选框的公共 html 页面。我想为面板中显示的公共页面中出现的这些复选框构建一个侦听器。有谁知道我应该寻找什么东西?我真的很感激任何帮助!

0 投票
1 回答
2953 浏览

java - JTextPane 换行

我可以使用此代码制作新行

但是当我用另一个文本再次执行此操作时,它只显示第二个文本而不是在此之后

错误。” + e.toString()

对不起,我的英语不是很好。我希望你明白。

0 投票
4 回答
1436 浏览

java - 如何将html加载到样式文档

我正在使用 StyleDocument 在 JTextPane 中显示我的内容。我搜索了一段时间,发现我可以使用 HTMLEditorKit 将我从文本窗格中获取的文档写入文件。但是当我想用 HTMLEditorKit 读取这个文件时,它不会在正确的文档中解析。我得到两个不同的结果:

  1. 我在我的文本窗格中获得了纯 html 代码
  2. 我的文本窗格中没有内容

保存:

加载(2个版本):

0 投票
1 回答
658 浏览

java - Java 聊天应用程序 - 多种字体、插入表情符号和表格的问题

我正在制作一个 java 聊天应用程序。我已经做了基础知识,并且工作正常。现在我想添加更改字体和插入表情符号的功能。我还想在每条消息旁边添加一个小时间戳。

对于时间戳,很明显我们需要使用表格进行良好的对齐。但是找不到一个简单的解决方案来拥有它们。google了一下之后,

  • 我了解到它可以使用 HTML 来实现。所以我尝试了 HTML Editor Kit,效果很好。表情符号、字体和时间已插入。
    • 但是,我还需要将该聊天对话保存到文件中(用于聊天历史记录)。我知道这一切背后都有一份文件。我尝试使用它的方法来保存/加载,但遇到了一些问题。代码如下。
    • 此外,字体大小是一个问题,因为它的范围是 1-7 并且我希望拥有像 MS Word 中的正常范围。
    • 最后,我的 HTML 知识非常基础,现在 HTML 与 CCS 一起使用,我对此一无所知。大多数网站不鼓励使用 HTML 标签,因为最新版本甚至不支持它们。这会给我的应用程序带来问题吗?如果是这样,我想要另一种方法来实现上述目标 - 即使这是一个简单的大学项目,也不想使用已弃用的东西。

代码:我创建了这些通用变量:

在 JButton 中,我有以下代码来插入文本/聊天:

addSmiles 方法只是遍历每个单词,并用 img 标签替换一个 ':)'。

为了保存/重新加载对话,我使用了这个基本代码:

它写得很好,但读取会产生错误。

java.lang.RuntimeException: Must insert new content into body element

感觉是我用错了insertHTML方法。谁能给我一个很好的链接来显示它的用法?尤其是最后三个参数(pop & pushDepth、insertTag)的例子。Oracle 文档,请不要让我满意地解释它。:/

  • 我使用了带有 SimpleAttributeSet 的标准 StyledDocuemnt 来支持多种字体。我使用了 RTFEditorKit 并成功保存/加载了聊天。但无法插入表情符号或时间戳表。我确实在这里遇到了一个链接。它尝试将表格绘制到 JTextPane 中。发现很难理解,但如果你们推荐它,那么我会认真研究它。

我希望我能体面地解释我的问题,而不是太冗长!:D 期待您的回答。

- - - - -编辑 : - - - - -

我稍微改变了我的代码:

初始化:

我将初始行插入到文档中,并带有适当的 try-catch:

随便聊聊,我用的和之前一样的HTML String,只是改了用来插入的方法:

最后,保存聊天:

到此为止,一切都很顺利。当我打开文件“asd”时,它会正确显示 HTML。我什至可以在浏览器中打开它并正确查看数据。

要检索数据并将其重新插入 JTextPane/Document:

在这种情况下,我收到一个错误:

第 157 行指向 kit.read 语句。谁能告诉我我在这里做错了什么?

再次编辑------------------------

我意识到我的错误:)。必须在阅读之前清除文档: HTMLdoc.remove(0, HTMLdoc.getLength()); 现在它可以工作了!

0 投票
1 回答
722 浏览

java - 格式化 HTMLEditorKit

我正在尝试在 JTextPane 中进行一些基本的格式化。为此,我决定使用 html(HTMLDocument 和 HTMLEditorKit)。

这是按钮的动作监听器代码,应该使选定的文本变为粗体

除非您尝试使粗体文本也加下划线(基本上相同的动作侦听器),否则它可以工作。源代码如下所示:

0 投票
2 回答
992 浏览

java - 无序列表项目符号在 JEditorPane 中看起来像素化

我正在使用 HTML 无序列表在 JEditorPane 中显示一些文本。HTML 示例如下所示:

这一切都很好,但奇怪的是,生成的项目符号<li>看起来与它旁边的文本质量不同。(如果重要,运行 Mac OS 10.7.5)。圆形子弹看起来是块状和像素化的:

正常变焦:

在此处输入图像描述

放大:

在此处输入图像描述

放大时尤其明显,这只是一个不对称的像素块,缺乏任何形式的抗锯齿,这使得圆形项目符号点不太令人信服。与它旁边的文字相比,即使在正常变焦下,它在明眼人眼中也显得“偏离”。

有什么办法可以解决这个问题吗?

编辑:使用 • 字符(在 Mac 上为option+ 8)会在文本中创建一个看起来不像素化的较小项目符号点。我当然可以手动插入此字符而不是使用<ul><li>,但如果可以的话,我想使用 HTML 无序列表。

0 投票
2 回答
525 浏览

java - JTextPane 中嵌入式摆动组件的插入符号位置

我有一个 JTextPane,它使用自定义 HTMLEditorKit 在使用 HTML 标记时嵌入一个摆动组件。当我单击此组件时,我希望将插入符号位置更新为该组件的位置。我可以在控件中获取焦点事件,但是我不知道如何将插入符号位置设置为该组件的位置。有谁知道怎么做?

0 投票
1 回答
1304 浏览

java - JEdi​​torPane:获取 HTML 元素的类属性

所以我有一个 JEditorPane 来显示一个 HTML 页面。我编写了代码来通过 id 检索 HTML 元素。我很难获得它们的属性。

例如,<span id="0" class="insert">abc</span>在 HTML 页面中有。我想得到类名insert,给定它的id。

我的代码看起来像这样,

这行不通。但是,elem.getAttributes()返回我以下,

这不像 HTML 元素的一组属性。我应该如何获取 HTML 元素的类属性?

谢谢!

0 投票
2 回答
2192 浏览

java - JTextPane - 带有 HTMLEditorKit 列表的项目符号无法正确呈现,除非我执行 setText(getText()) 并重新绘制

我有:

然后稍后我尝试向工具栏添加一个无序列表按钮,以便操作是:

如果我转储生成的 html,这确实包括正确的代码。然而,它会被渲染得非常糟糕,甚至不接近合理,如下图所示:

生成的子弹的快照

但是,如果我这样做:

那么一切都很好。但如果我不做两条线,那么两者都不会单独工作。我还可以通过在使 jtextPane 可见之前设置文本来使其工作。

这真的很奇怪,我不明白为什么我必须做 asetText(getText())后跟 a repaint()

PS:这与这个问题非常相似:How to implement bullet points in a JTextPane? 它可以正常工作,只是它不能正确渲染。我不知道它是否与 HTMLEditorKit 与 RTFEditorKit 有关,但我导致渲染失败。下的html源码就完美了...

PS2:这个链接也很方便,但也没有显示解决方案。

更新:这是所要求的完整代码,但没有太多其他...