2012-12-31 122 views
0

有沒有一種方法來設置ac.getPage()爲超鏈接,當點擊了broswer開? ac.getPage()返回string這是一個實際上一個人的博客的URL。我試着並附以下java.awt.Desktop.getDesktop().browse(java.net.URI.create(ac.getPage())和錯誤說void是不允許的?我怎樣才能糾正這一點?超鏈接在java中的瀏覽器中打開?

pageLabel.setText("Page: " + ac.getPage()); 
+0

似乎與這個問題類似http://stackoverflow.com/questions/527719/how-to-add-hyperlink-in- JLabel的 –

+0

@JoopEggen是的,我做到了 – Hoody

+0

@Mahan似乎太長,我想能夠保持文本「頁面」太 – Hoody

回答

1

你可以使用一個JTextPane的,而不是一個JLabel,

JTextPane pageLabel = new JTextPane(); 
pageLabel.setEditable(false); 
pageLabel.setText("<html>Page: <a href='http://eo.wikipedia.org/'>vikipedio</a>"): 
pageLabel.addHyperLinkListener(new HyperLinkListener() { 
    @Override 
    public hyperlinkUpdate(HyperlinkEvent event) { 
     if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { 
      String url = event.getURL().toString(); 
      Desktop.getDesktop().browse(URI.create(url)); 
     } 
    } 
}); 
+0

取決於業務方案的問題的情況下,但是這可能是有點矯枉過正... – 11684

+0

這是一個答案,與YouTube在它的註釋。 –

相關問題