当前位置: 首页 > 面试题库 >

JEdi​​torPane中的超链接

宇文迪
2023-03-14
问题内容

我在JEditorPane ex中显示的链接很少:

http://www.google.com/finance?q=NYSE:C

http://www.google.com/finance?q=NASDAQ:MSFT

我希望我应该能够单击它们并将其显示在浏览器中

有什么想法怎么做?


问题答案:

这有几个部分:

正确设置JEditorPane

JEditorPane需要有上下文类型text/html,并且它需要不可编辑的链接,可以点击:

final JEditorPane editor = new JEditorPane();
editor.setEditorKit(JEditorPane.createEditorKitForContentType("text/html"));
editor.setEditable(false);

添加链接

您需要将实际<a>标签添加到编辑器中,以便将它们呈现为链接:

editor.setText("<a href=\"http://www.google.com/finance?q=NYSE:C\">C</a>, <a href=\"http://www.google.com/finance?q=NASDAQ:MSFT\">MSFT</a>");

添加链接处理程序

默认情况下,单击链接不会执行任何操作。您需要HyperlinkListener与他们打交道:

editor.addHyperlinkListener(new HyperlinkListener() {
    public void hyperlinkUpdate(HyperlinkEvent e) {
        if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
           // Do something with e.getURL() here
        }
    }
});

您如何启动浏览器进行处理e.getURL()取决于您自己。如果您使用Java
6和受支持的平台,则一种方法是使用Desktop类:

if(Desktop.isDesktopSupported()) {
    Desktop.getDesktop().browse(e.getURL().toURI());
}


 类似资料:
  • 问题内容: 我很难让超链接在JEditorPane中工作。有人可以告诉我我在做什么错吗?我希望能够单击链接和浏览器打开该页面。提前致谢。:D 问题答案: 哇,那虽然比我还简单:P 哦,等到用户单击链接之后再打开浏览器,在我杀了你之前,大约有4个窗口在运行;) 点击更新 你快到了;)

  • 问题内容: 我有个小问题。我需要使用自定义编辑器工具包将现有文件加载到。我有一个编辑器套件,一个带有某些扩展名的文件,我需要强制识别文件并使用我的编辑器套件。我只发现这是可能的,但无处可寻。 该工具包也基于HTML和文件。如果文件具有扩展名,则可以使用,但是当我将文件重命名为时,它将以纯文本格式打开。内容类型设置为,但是我无法注册该类型的编辑器套件,因为已经为该内容类型注册了另一个编辑器套件。 实

  • Jedi 是一个可以在 IDEs 或者编辑器中使用的 Python 代码自动补齐和静态分析工具。它的历史重点是自动完成,但现在也进行静态分析。 Jedi 好用并且快速。 它比 Python 的所有其他静态分析框架更深入地理解 Python。 Jedi 支持两种不同的 goto 函数。 可以搜索相关的名称并列出 Python 文件中的所有名称并推断它们。 Jedi 理解 docstrings,你也可

  • Jedi-Crawler 是一款轻量级 Node/PhantomJS爬虫,可以动态的抓取网页内容。 安装: npm install jedi-crawler 示例代码: var jedi = require('./modules/jedi.js'),fs = require('fs');/// REGISTER ALL THE PADAWANSvar PADAWANS_DIR = "./padaw

  • Jedi 是百姓网公司的开源软件,是 JavaScript 的模板语言。

  • 行内式 格式为 [link text](URL 'title text')。 ① 普通链接: [Google](http://www.google.com/) Google ② 指向本地文件的链接: [icon.png](./images/icon.png) icon.png ③ 包含 'title' 的链接: [Google](http://www.google.com/ "Google")