java实现超链接标签JLabel,可以自行打包成jar

来源:互联网 发布:linux删除非空子目录 编辑:程序博客网 时间:2024/06/11 02:45
package gditc.cryhelyxx;import java.awt.Cursor;import java.awt.Desktop;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JLabel;public class LinkLabel extends JLabel {/** *  */private static final long serialVersionUID = 1L;private String text, url;private boolean isSupported;public LinkLabel(String text, String url) {this.text = text;this.url = url;try {this.isSupported = Desktop.isDesktopSupported()&& Desktop.getDesktop().isSupported(Desktop.Action.BROWSE);} catch (Exception e) {this.isSupported = false;}setText(false);addMouseListener(new MouseAdapter() {public void mouseEntered(MouseEvent e) {setText(isSupported);if (isSupported)setCursor(new Cursor(Cursor.HAND_CURSOR));}public void mouseExited(MouseEvent e) {setText(false);}public void mouseClicked(MouseEvent e) {try {Desktop.getDesktop().browse(new java.net.URI(LinkLabel.this.url));} catch (Exception ex) {}}});}private void setText(boolean b) {if (!b)setText("<html><font color=white><u>" + text);elsesetText("<html><font color=red><u>" + text);}}