问题标签 [jeditorpane]

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 投票
1 回答
4000 浏览

java - 在背景 JPanel 上的 JScrollPane 中的透明 JEditorPane

如果我移动 JScrollPane 使其位于 JPanel 前面并部分覆盖 JPanel,则 JScrollPane 内部的 JEditorPane 存在绘制问题。它没有正确地重新绘制 JPanel 的背景。因此,当您滚动时,您最终会遇到屏幕绘画问题。

我使用以下方法尝试了重叠 - JScrollPane 内部的 JPanel - JScrollPane 部分覆盖 JPanel 使用 FreeLayout(NetBeans GUI Builder) - JScrollPane 部分覆盖 JPanel 使用 JLayeredPane

JPanel 现在有一个纯色背景,但是一旦我得到纯色背景工作,我就会将它扩展为具有渐变。

如何让 JEditorPane 从 JPanel 引入裁剪的背景?

我正在使用它使其透明jEditorPane.setBackground(new Color(0,0,0,0))

我尝试setOpaque(false)像您对面板一样使用,但如果您对 JEditorPane 执行此操作,那似乎只是恢复了默认背景。

同事提出的原始问题: https ://stackoverflow.com/questions/6364460/jframe-screen-paint-issues-when-using-transparency

最初的问题写得不太好,似乎没有带来好的答案。

对同事问题建议的回应:

  • “尝试使用 setOpaque(false); 而不是 setBackground(new Color(0,0,0,0));” 没有解决问题。
  • “尝试在pack()之后添加validate()”并没有解决问题。
  • “在 JViewport 上绘制背景图像”不起作用,因为背景需要延伸到 JScrollView 之外并且还散布在其他组件后面
  • “修改 UI 委托的paint() 中的图形合成”如果这能解决问题,我想知道该怎么做。
0 投票
1 回答
412 浏览

java - 在 JTextPane 中禁用超链接

我有一个带有 HTML 内容的 JTextPane。在不更改内容类型或调用 setText 的情况下,我想禁用超链接。我想

  • 与周围文本具有相同样式的超链接(通常意味着没有下划线或蓝色)
  • 当我将鼠标移到超链接上时鼠标不会变成手

最简单的方法是什么?我已经知道如何更改超链接侦听器,但现在希望链接显示为普通文本。

0 投票
1 回答
4121 浏览

java - 使用 Unicode (Java) 访问/更改 JEditorPane 的 html 加载元素 + HTMLEditorKit 问题

这将是一个很长的问题,所以请耐心等待:)

我的应用程序

我正在开发一个 Java(带有 JFrame GUI)桌面应用程序,它执行以下操作:

  1. 扫描 (.txt) 文件。
  2. 从这些文件中解析一些数字,对它们执行一些计算,最后将结果存储在字符串变量中。
  3. 以特殊(表格)格式输出这些数字。(注意:格式包括一些 Unicode(阿拉伯)字符。)

问题

前两部分进行得很顺利。然而,当我来到第三部分(格式化输出)时,我不知道如何显示这种特殊格式,所以,

  • 在 Java 中显示特殊格式输出(表格)的最佳方式是什么?

注意:格式化 程序不会有帮助,因为它对表格没有适当的支持。

解决方案一:

我进行了研究,发现我可以使用 JEditorPane,因为它可以显示特殊格式,例如“html”。所以我决定创建一个具有所需(表格)格式的“html”页面,然后在 [JEditorPane][4] 上显示这个页面。我这样做并且进展顺利,直到我想将一些 html 元素的值更改为那些 (.txt) 文件中的解析数字。

  • 如何访问 html 元素(例如<td></td>)并更改其值?

请注意,(.html)是使用 .html 在 JEditorPane 中加载的setPage(url)

Unicode 字符显示正确,但我无法更改某些元素值(例如,我想将值更改<td> 000,000,000 </td><td> MainController.getCurrentTotalPayment() </td>

解决方案二:

我找到了一种解决方法,其中涉及使用 HTMLDocument 和 HTMLEditorKit,这样我可以使用 HTMLEditorKit 从头开始​​创建 (.html) 并使用kit.insertHTML.

我已经使用上述方法成功添加了内容,并且我还能够添加来自 (.txt) 文件的解析数字,因为我将它们存储在我的 (MainController) 类中。不幸的是,Unicode 阿拉伯字符没有正确显示。

  • 如何正确显示这些 Unicode 字符?

所以第一个解决方案缺乏对 html 元素的访问,而第二个解决方案缺乏 Unicode 支持!

我的同事建议我在可以访问我的 MainController.java 类的 html 文档中使用 JSP 代码。因此,将页面加载到 JEditorPane 中时已经更改了 html 元素。如果没有 JSP 的帮助,难道没有办法做到这一点吗?

其他一些人推荐使用JTidy,但在 Java 的 JDK 中没有办法做到这一点吗?

我对所有可能的解决方案持开放态度。请帮忙。

我的代码:一些代码内容被省略,因为它们不相关

主控制器.java

MyFormattedOutputSolutionOne.java:

MyFormattedOutputSolutionTwo.java:

htmlFormatTable.html:

感谢您阅读我冗长的多个问题线程,迫不及待地等待您的回答。

更新:

感谢@Howard 的这一见解,如果我用相应的 unicode(例如 ب = \u0628)替换阿拉伯字符,它可以正常工作,但必须有一种方法可以做到这一点而无需替换每个字符,对吧?

0 投票
1 回答
1006 浏览

java - JEdi​​torPane、JScrollPane 和可访问性

我有一个简单的 Swing 应用程序,其中 JEditorPane 包装在 JScrollPane 中。

不幸的是,JAWSNVDA等屏幕阅读器软件无法正常运行。

当焦点进入 JEditorPane 时,它​​只读取可访问的名称,后跟“文本”,然后停止,而预期的行为是继续读取 JEditorPane 的内容。

如果我不将 JEditorPane 包装在 JScrollPane 中,它会按预期工作。

我曾尝试使用 Monkey 检查可访问的树,但我看不到包裹在 JScrollPane 中的 JEditorPane 和未包裹的 JEditorPane 之间的任何相关区别。

有任何想法吗?

这是一个演示问题的简短示例。如果焦点进入第一个 JEditorPane,JAWS 将读取“第一个编辑器窗格 - 编辑”。如果焦点进入第二个 JEditorPane,JAWS 读取“第二个编辑器窗格 - 编辑 - 栏”。

0 投票
0 回答
773 浏览

java - 如何在 JEditorPane 中显示多部分 HTML 电子邮件?

以下是我用来获取和显示电子邮件的片段。

但它表现出一些奇怪的行为。

这是输出:(分两部分)

在此处输入图像描述 第2部分

在此处输入图像描述

这是原始电子邮件在此处输入图像描述

让我解释一下输出。在first body part(多部分消息)中,plain message+links of images被粘贴。在第二部分中,原始电子邮件中的图像被粘贴。随着行需要的日子......任何地方重复了两次。第二部分永远不会结束。为什么是这样?

我的收件箱中有 7 封邮件,但只显示了 1 封电子邮件,毫无疑问,获取电子邮件的代码有问题。 但我不知道哪里错了。_让我告诉你,我得到了与语句相对应的正确结果

senSub += InternetAddress.toString(msgs[i].getFrom()) + "\n" + msgs[i].getSubject() + "\n"; 结果是 7 个主题和 7 个发件人

请告诉代码有什么问题。我希望将链接粘贴为链接,将文本粘贴为文本,将图像粘贴为图像而不是随机粘贴。

0 投票
2 回答
448 浏览

java - JEdi​​torPane 异步图片下载问题

我正在尝试创建简单的 Swing 应用程序,其中包含很少的 JEditorPanes。每个 JEditorPane 都包含带有 html 标记的文本。还有一些窗格包含带有标签的html <img src='http://some.url' />,这意味着图像可能在网络的某个地方。问题是 - 如果其中一个图像 url 不可用 - 我的所有 JEditorPanes 和整个应用程序都会挂起。(我在自己的线程中构建 JEditorPanes,并在构建后将它们放入主框架中SwingUtilities.invokeLater(...)

我相信图像会异步下载到 JEditorPanes 中,是否有能力杀死这些挂起的图像下载线程?

或者,也许有更好的解决方案?

谢谢

使用 PS SwingWorker。问题是 - 如果某些图像 url 不可用 - 所有 JEditorPanes 都无法下载他们的图片。实际上他们没有挂起,但无法下载图像。为什么?

聚苯乙烯

后台线程:

0 投票
2 回答
1393 浏览

java - java:从jEditorPane获取带有换行符的纯文本

我有一个基于 HTML 的 jEditorPane。我发现你可以使用:

通过这种方式,我从编辑器窗格中获取了文本。当我想把它放回编辑器窗格时,我只需用 < br /> 替换换行符。然后把它放回去。

直到现在一切都很好。但是当我第二次从编辑器窗格中获取文本时,没有换行符。

我怎样才能保留这个换行符?

0 投票
1 回答
161 浏览

java - Java - 无法加载相同的 url 并在编辑器窗格中显示两次?

这是我用来在编辑器窗格中显示 url 内容的代码

我只是无法让它刷新并显示相同 url 的内容两次。当我点击加载按钮时它会加载内容但是如果我再次点击加载按钮它不会加载网址或显示内容..我做错了什么?我对java很陌生,很抱歉,如果它是一个简单的解决方案,如果你能指出我解决这个问题的正确方向,那就太好了,谢谢!

0 投票
4 回答
156 浏览

java - 如何通过网络加载文件并将其作为字符串处理

我想在 JTextArea 中显示 url 的内容。我有一个指向 XML 文件的 url,我只想在 JTextArea 中显示文件的内容。我怎样才能做到这一点?

0 投票
1 回答
757 浏览

java - 在 JEditorPane 中突出显示

JEditorPane当我有要突出显示的字符串列表时,是否可以突出显示中的某些文本部分?无法使用 HTML 标签(文本将包含一些标签)。EditorKit有必要创建cuttom吗?

谢谢