我很难让超链接在JEditorPane中工作。有人可以告诉我我在做什么错吗?我希望能够单击链接和浏览器打开该页面。提前致谢。:D
bottomText.setText("<a href=\"http://www.yahoo.com\">Yahoo</a>"); bottomText.setEditable(false); bottomText.setOpaque(false); bottomText.setEditorKit(JEditorPane.createEditorKitForContentType("text/html")); bottomText.addHyperlinkListener(new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { } if(Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(e.getURL().toURI()); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (URISyntaxException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } });
哇,那虽然比我还简单:P
// Move this //bottomText.setText("<a href=\"http://www.yahoo.com\">Yahoo</a>"); bottomText.setEditable(false); bottomText.setOpaque(false); bottomText.setEditorKit(JEditorPane.createEditorKitForContentType("text/html")) // To Here bottomText.setText("<a href=\"http://www.yahoo.com\">Yahoo</a>");
哦,等到用户单击链接之后再打开浏览器,在我杀了你之前,大约有4个窗口在运行;)
点击更新
你快到了;)
bottomText.addHyperlinkListener(new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(e.getURL().toURI()); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (URISyntaxException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } } });