2015-06-25 49 views
-1

我正在使用Java Swing編寫一個用戶界面,並且我需要一個圖片,點擊後將用戶帶到特定的網頁。如何將ImageIcon放入包含超鏈接的JLabel中?

到目前爲止,我已經加入到我的項目的其他圖像都使用

JLabel myImage = new JLabel(new ImageIcon("filePath\\imagename.png")); 

但是現在這個特定的圖像需要包含一個超鏈接,我無法弄清楚是否有可能已經完成使用上述JLabel/ImageIcon方法嵌入鏈接。

作爲一個替代方法,我想到了一個HtmlPanel將要走的路,但我不能得到的圖像顯示方式。下面的代碼給了我一個破碎的形象,而這是可以點擊的,帶我到我的網頁:

HtmlPanel myImage = new HtmlPanel("<a href='http://myWebsite.com'> <img src='filepath\\fileName.png' alt='blahblah'></a>"); 

任何意見將不勝感激! (PS我是比較新的一般程序,所以如果你的答案可能包含的示例代碼,這將是額外的幫助,因爲大多數人的答案去的方式在我的頭上)

+0

*「我想到了一個HtmlPanel將要走的道路」 *什麼是'HtmlPanel'?我在JSE 8文檔中沒有看到它。 –

+1

順便說一句,一個'JEditorPane'支持鏈接的圖像,鏈接和圖像。 –

+0

看看這篇文章 - http://stackoverflow.com/questions/527719/how-to-add-hyperlink-in-jlabel – Amber

回答

0

對於這一點,你必須添加鼠標監聽器包含ImageIcon的JLabel標籤意味着您的圖像。

這裏是代碼:

Icon i1 = new ImageIcon(getClass().getResource("image.jpg")); 
    l4 = new JLabel(i1); 

    l4.addMouseListener(new MouseAdapter() { 
     public void mouseClicked(MouseEvent e) { 

      String command = "rundll32 url.dll,FileProtocolHandler https://www.google.com"; 
      try { 
       Process p = Runtime.getRuntime().exec(command); 

      } catch (Exception e1) { 

       JOptionPane.showMessageDialog(null, "\n Error! \n"); 

      } 

     } 
    }); 
    add(l4); 
+0

非常感謝!這非常有幫助,我真的很感激得到一個具體的例子。如果我有足夠的聲望點,我會upvote你的答案:-) – BigWeirdAlFan