问题标签 [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 - 如何在 JTextPane 中打开具有另一个扩展名的 HTML 文件
我有一个 HTML 文件,我需要在JTextPane
.
这工作正常。它使用我修改过的 HTML 编辑器工具包并根据需要显示特殊标签。但修改后的文件并不完全是 HTML。它应该有另一个扩展名。但这是个问题。
该文件刚刚重命名,现在显示为纯文本。有没有办法强制JTextPane
打开扩展名为 XHTBM 的 HTML 文件作为 HTML 文件?如果使用,我是否被迫使用 HTML 扩展JTextPane
?
java - JEditorPane、HTMLEditorKit - 插入自定义标签的自定义操作
我相信JEditorPane
。我需要简单的编辑器。我已经解决了加载和修改包含自定义(两个)标签的 HTML 的问题(请参阅我的旧帖子)。它可以正确显示文档,我现在什至可以编辑它。我可以编写文本、删除字符或我的自定义元素。我赢得了一场战斗,但还没有赢得这场战争。遗憾的是,下一步也是非常成问题的。我无法插入我的自定义标签。
我有一个自定义操作:
它工作正常。我可以插入span
元素。但我不能以这种方式插入非标准标签。我可以只插入code
,span
等等,但不能插入我的标签。对于我的标签,我不得不使用这个:
有两个关键问题
- 自定义标签必须以非空白字符(此处为 x)为界
- 当前元素的主体被拆分
当我将span
元素插入<p>paragraph</p>
时,我得到<p>par<span>ahoj</span>agraph</p>
了预期。然而,未知标签总是作为元素的子body
元素插入,结果(例如未知标签x
)是<p>par</p><x>ahoj</x><p>agraph</p>
.
这项工作令人筋疲力尽。几周以来,我一直坚信这个相对简单的任务。我已经浪费了。如果插入不起作用,我可以将其全部废弃...
java - JEditorPane 和 HTML 元素的来源
我在使用JavaHTMLEditorKit
和HTMLDocument
使用 Java 时(仍然)有问题。我只能设置元素的内部 HTML,但我无法获取它。有什么方法可以获取元素的基本 HTML 代码吗?
我的问题是,HTML 支持很差而且写得不好。API 不允许使用基本的和预期的功能。我colspan
需要更改attribute
. <td>
Java 开发人员已经关闭了直截了当的方法:元素的属性集是不可变的。解决方法可能是获取元素的代码(例如<td colspan="2">Hi <u>world</u></td>
)并将其替换为新内容(例如<td colspan="3">Hi <u>world</u></td>
)。这条路似乎也关闭了。(奖金问题:有什么HTMLEditorKit
好处?)
java - 具有自定义文档和编辑器的 JTextPane 无法正确显示图标
我们正在用 Java 实现一个非常小的消息程序,例如应用程序,并为我们的消息面板使用 JTextPane。现在,我们正在尝试用.gif
文件替换常见的笑脸,并且我们使用了一些可以完成这项工作的示例……除了图标居中对齐而且很烦人。有没有让它看起来内联(左对齐,或正常)?一些帮助解决这个问题将不胜感激。
这是初始化代码:
MessageDocument
班级:
WrapHTMLEditorKit
班级:
最后,SmileyDocumentListener
课程:
注意:我尝试更改r.alignment = 0.5f;
为0.0f
inWrapHTMLEditorKit.java
java - HTMLEditorKit 在 JEditorPane HTML 中修改我的文本
我正在使用 JTextPane 来编辑 HTML,当我使用 getText() 和 setText() 方法时,它会更改我的文本。
例如,如果我使用 setter 方法设置此文本。
当我打电话时getText()
它会返回
保持原始格式对我来说很重要。可能吗?
谢谢!
java - 如何让 Swing 将我自己的 HTMLEditorKit 用于 JLabel/JButton/等
假设我已经制作了HTMLEditorKit
(和其他相关类)的子类,以显示一些自定义 HTML 标记。我希望能够在 、 等中使用这些自定义JLabel
标签JButton
。除了创建自己的外观和感觉之外,还有什么方法可以做到这一点?也就是说,我想告诉 swing“使用这个实例HTMLEditorKit
在 /etc 中呈现 HTML JLabel
”,而不管当前使用的是什么外观。从我在 Swing internals 中所做的小调查来看,我认为这是不可能的,但我很想被证明是错误的。
java - 如何从 HTMLEditorKit 获取特定操作?
我想创建一个简单的测试应用程序,其中包含一个显示一些 HTML 内容的JEditorPane和一个使所选文本变为粗体的按钮。HTMLEditorKit已经为这个按钮提供了必要的操作,所以我可以用这样的复杂代码来使用它:
但我很确定有什么问题。我不敢相信我必须创建这个辅助地图才能按名称获取操作。我发现用于检索动作的唯一官方方法似乎是JEditorPane的getActions()方法,它只返回一个数组。
那么有没有更好的方法来从 an 中获取特定操作,EditorKit
而我只是错过了它,或者它只是糟糕的 API 设计?
java - JTextPane 中的双重列表项插入
我有一个将无序列表项插入到JTextPane
. 但是,当我单击按钮插入列表项时,会插入两个项目符号而不是一个。仅在第一次插入时插入一个项目符号。
我从我的应用程序中删除了功能并将代码粘贴到一个小的 SSCCE(如下)中,问题仍然存在。有谁知道这里可能会发生什么?
[问题已经解决,下面是完整的解决代码。有两种方法可以做到这一点,参考节目中的功能和项目符号按钮]
java - Java Swing:GlyphView:删除有序/无序列表(HTMLDocument)后的StateInvariantError
我不认为这是一个新问题。但是,每当使用退格键从一直到顶部删除 JTextPane(EditorKit -> HTMLEditorKit,Document -> HTMLDocument)中的有序/无序列表时,似乎都会出现错误。下面是GlyphView的getText()方法抛出的异常。
我可以为此提供 SSCCE。但模拟起来并不难。只需使用其中设置了 HTMLEditorKit 和 HTMLDOcument 模型的 JTextPane。使用自定义的“InsertOrderedList”操作或有某种方式插入字符串
这将导致在文本窗格内插入有序/无序列表。
这个错误的奇怪部分如下:
一旦你开始删除字符(如果你碰巧在项目符号列表下面有行),这些字符将被删除,直到你点击最后一个项目符号的最后一个字符。一旦达到这一点,插入符号就会拒绝向上移动,并且会抛出 GlyphView 的错误。
有时发生的情况是,在您删除了大部分字符之后 - 您仍然无法删除列表的第一个项目符号。它只会挂起,直到您执行 ctrl+a 然后退格。
我在几乎所有在线可用的基于 Java 的 HTML 编辑器中都看到了这些错误,但 JWebEngine 除外,其中不存在这种行为。不幸的是,JWebEngine 不是开源的,因此我无法查看他们的代码以了解他们是如何解决这个问题的。
我的猜测是来自 HTML 文档模型的通知有一些问题,因为光标定位代码不能正常工作。我还搜索了 Sun 错误数据库以检查是否已提出此特定问题但找不到任何问题(尽管我已经看到了很多与此非常相似的错误)。此外,我非常确定之前一定有人注意到了这一点,并且一定已经引起了 Swing 团队的注意。
使用 Swing(尤其是文本)部分的人是否知道 Sun 是否已提出此问题,或者是否已找到任何已知的解决方法来缓解该问题?
尽管用户仍然可以使用鼠标选择从窗格中删除列表,但没有使用退格键执行相同操作的选项似乎很奇怪。
SSCCE 现在已附加。重现错误请。按照附图中所示的步骤进行操作。
- 添加一行文本。然后通过单击文本窗格上方的按钮添加 2/3 项目符号。现在将插入符号放在最后一个项目符号的最后一个字符的末尾,并继续按下整个退格键,直到所有字符都被删除。
观察到的行为:最后一个子弹会挂起(不会被删除)并且会抛出异常(如上所述)
预期:没有例外,文本窗格的内容应该被清除。
java - 使用 HTMLEditorKit 工作
我是一名 Java 新手程序员,试图使用 HTMLEditorKit 库来遍历 HTML 文档并将其更改为我的链接(主要是为了好玩,我正在做的事情可以毫无问题地完成)
但我的问题是:在我修改了我的 HTML 文件后,我留下了一个 HTMLDocument,我不知道如何保存回 HTML 文件。
之后我用“doc”元素做我的事。
现在我已经完成了,我只想将它保存回来,最好覆盖我首先从中获取 HTML 的文件。
谁能告诉我之后如何将修改后的 HTMLdocument 保存到 html 文件中?