我正在使用JOptionPane来显示一些产品信息,并且需要向网页添加一些链接。
我发现您可以使用包含html的JLabel,因此我提供了一个<a href>
链接。该链接在对话框中显示为蓝色并带有下划线,但是不可单击。
例如,这也应该起作用:
public static void main(String[] args) throws Throwable
{
JOptionPane.showMessageDialog(null, "<html><a href=\"http://google.com/\">a link</a></html>");
}
如何在JOptionPane中获得可点击的链接?
谢谢,保罗。
编辑 -例如解决方案
public static void main(String[] args) throws Throwable
{
// for copying style
JLabel label = new JLabel();
Font font = label.getFont();
// create some css from the label's font
StringBuffer style = new StringBuffer("font-family:" + font.getFamily() + ";");
style.append("font-weight:" + (font.isBold() ? "bold" : "normal") + ";");
style.append("font-size:" + font.getSize() + "pt;");
// html content
JEditorPane ep = new JEditorPane("text/html", "<html><body style=\"" + style + "\">" //
+ "some text, and <a href=\"http://google.com/\">a link</a>" //
+ "</body></html>");
// handle link events
ep.addHyperlinkListener(new HyperlinkListener()
{
@Override
public void hyperlinkUpdate(HyperlinkEvent e)
{
if (e.getEventType().equals(HyperlinkEvent.EventType.ACTIVATED))
ProcessHandler.launchUrl(e.getURL().toString()); // roll your own link launcher or use Desktop if J6+
}
});
ep.setEditable(false);
ep.setBackground(label.getBackground());
// show
JOptionPane.showMessageDialog(null, ep);
}
您可以将任何组件添加到JOptionPane。
因此,添加一个JEditorPane来显示您的HTML并支持HyperlinkListener。
我试图在我的< code>Browser类(在eclipse中创建)中实现一个历史按钮,并且我希望按钮中的链接是可点击的。下面是当用户按下按钮< code>History时启动的代码: 在上面的代码中,是一个包含以前访问过的所有网页的列表。 我尝试过使用这里介绍的方法:JOptionPane中的可点击链接,我让它工作了。问题是,此解决方案仅允许我预定义URL:s,但我希望显示我的列表,并且其中的U
问题内容: 我在htmlunit中单击链接时遇到问题。我浏览了网站上的api(对此我不太了解),并查看了所有可以找到的示例代码,但是单击链接仍然有问题。 这是错误消息的顶部(它相当大,如果您希望我可以全部提交) 第一页加载正常,但是当我单击第二个链接时,出现此错误(链接为javascript)。这是我的代码的一部分 如果我执行打印链接2,则会得到: 起初我以为HtmlAnchor可能是个问题,所以
我正在尝试使用Swing发出文件传输通知。这个想法是,当我的应用程序通过网络提供文件时,用户会收到一个,询问他或她是否想接受所述文件报价,如果他们的答案是是,我想打开一个,以便他们可以浏览到他们想要保存文件的位置。 我遇到的问题是两者单独工作都很好,但是当我设置它们以便打开我的应用程序死锁时。 有人知道这里出了什么问题吗?我尝试了调试,但没有发现任何奇怪的行为来表明它为什么会死锁。 编辑:下面的示
问题内容: 我正在FireFox中使用Selenium的IDE进行一些测试,我希望Selenium单击第二个链接(Text2)。知道我该怎么做吗?不幸的是,我无权访问HTML并且无法对其进行修改。记录功能似乎没有注册点击。 该代码附在下面。提前致谢! 问题答案: 硒也支持定位器。如果您知道确切的链接文本,则可以使用此定位器,但不能使用其他定位器。因此,对于上述示例:或。(有关其他定位器,请参见此网
我使用的是Bootstrap,以下操作不起作用:
问题内容: 我的HTML页面中有一个SVG对象,并将其包装在锚点中,因此,当单击svg图像时,会将用户带到锚点链接。 当我使用此代码块时,单击svg对象不会将我带到Google。在IE8 <中,跨度文本是可单击的。 我不想修改我的svg图像以包含标签。 我的问题是,如何使svg图像可点击? 问题答案: 最简单的方法是不使用。而是使用标记,锚点应该可以正常工作。