问题标签 [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.
java - 在 Java 中解析 HTML 数据,包括 < 和 > 标签?
我想用 Java 解析 HTML 文本。
我尝试使用javax.swing.text.html.HTMLEditorKit解析 HTML 数据。它帮助我从 HTML 中获取数据。但我有一个 HTML 数据,比如 -
周围有'<'和'>' 而不是'<'和'>'
在解析上述文本时,我收到错误 -
请建议我解决我的问题。提前致谢。
java - 公共页面中复选框的 Java 编辑器 HTML 工具包类侦听器
我正在使用 java 编辑器 HTML 工具包类来显示一个包含复选框的公共 html 页面。我想为面板中显示的公共页面中出现的这些复选框构建一个侦听器。有谁知道我应该寻找什么东西?我真的很感激任何帮助!
java - JTextPane 换行
我可以使用此代码制作新行
但是当我用另一个文本再次执行此操作时,它只显示第二个文本而不是在此之后
错误。” + e.toString()
对不起,我的英语不是很好。我希望你明白。
java - 如何将html加载到样式文档
我正在使用 StyleDocument 在 JTextPane 中显示我的内容。我搜索了一段时间,发现我可以使用 HTMLEditorKit 将我从文本窗格中获取的文档写入文件。但是当我想用 HTMLEditorKit 读取这个文件时,它不会在正确的文档中解析。我得到两个不同的结果:
- 我在我的文本窗格中获得了纯 html 代码
- 我的文本窗格中没有内容
保存:
加载(2个版本):
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());
现在它可以工作了!
java - 格式化 HTMLEditorKit
我正在尝试在 JTextPane 中进行一些基本的格式化。为此,我决定使用 html(HTMLDocument 和 HTMLEditorKit)。
这是按钮的动作监听器代码,应该使选定的文本变为粗体
除非您尝试使粗体文本也加下划线(基本上相同的动作侦听器),否则它可以工作。源代码如下所示:
java - 无序列表项目符号在 JEditorPane 中看起来像素化
我正在使用 HTML 无序列表在 JEditorPane 中显示一些文本。HTML 示例如下所示:
这一切都很好,但奇怪的是,生成的项目符号<li>
看起来与它旁边的文本质量不同。(如果重要,运行 Mac OS 10.7.5)。圆形子弹看起来是块状和像素化的:
正常变焦:
放大:
放大时尤其明显,这只是一个不对称的像素块,缺乏任何形式的抗锯齿,这使得圆形项目符号点不太令人信服。与它旁边的文字相比,即使在正常变焦下,它在明眼人眼中也显得“偏离”。
有什么办法可以解决这个问题吗?
编辑:使用 • 字符(在 Mac 上为option+ 8)会在文本中创建一个看起来不像素化的较小项目符号点。我当然可以手动插入此字符而不是使用<ul><li>
,但如果可以的话,我想使用 HTML 无序列表。
java - JTextPane 中嵌入式摆动组件的插入符号位置
我有一个 JTextPane,它使用自定义 HTMLEditorKit 在使用 HTML 标记时嵌入一个摆动组件。当我单击此组件时,我希望将插入符号位置更新为该组件的位置。我可以在控件中获取焦点事件,但是我不知道如何将插入符号位置设置为该组件的位置。有谁知道怎么做?
java - JEditorPane:获取 HTML 元素的类属性
所以我有一个 JEditorPane 来显示一个 HTML 页面。我编写了代码来通过 id 检索 HTML 元素。我很难获得它们的属性。
例如,<span id="0" class="insert">abc</span>
在 HTML 页面中有。我想得到类名insert
,给定它的id。
我的代码看起来像这样,
这行不通。但是,elem.getAttributes()
返回我以下,
这不像 HTML 元素的一组属性。我应该如何获取 HTML 元素的类属性?
谢谢!
java - JTextPane - 带有 HTMLEditorKit 列表的项目符号无法正确呈现,除非我执行 setText(getText()) 并重新绘制
我有:
然后稍后我尝试向工具栏添加一个无序列表按钮,以便操作是:
如果我转储生成的 html,这确实包括正确的代码。然而,它会被渲染得非常糟糕,甚至不接近合理,如下图所示:
但是,如果我这样做:
那么一切都很好。但如果我不做两条线,那么两者都不会单独工作。我还可以通过在使 jtextPane 可见之前设置文本来使其工作。
这真的很奇怪,我不明白为什么我必须做 asetText(getText())
后跟 a repaint()
。
PS:这与这个问题非常相似:How to implement bullet points in a JTextPane? 它可以正常工作,只是它不能正确渲染。我不知道它是否与 HTMLEditorKit 与 RTFEditorKit 有关,但我导致渲染失败。下的html源码就完美了...
PS2:这个链接也很方便,但也没有显示解决方案。
更新:这是所要求的完整代码,但没有太多其他...