リンクラベルについて
Javaにはリンクラベルを表すクラスはありません。リンクラベルを実装する方法はいくつかありますが、 ここでは普通のラベルにリンクを付ける方法を紹介します。
import java.awt.Desktop;
import java.awt.Cursor;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.net.URI;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Sample {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setSize(300, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
LinkLabel label = new LinkLabel("http://javagui.bufsiz.jp/");
f.getContentPane().add(label);
f.setVisible(true);
}
}
class LinkLabel extends JLabel {
public LinkLabel(final String href) {
super("<html><a href='" + href + "'>" + href + "</a>");
setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
Desktop desktop = Desktop.getDesktop();
try {
desktop.browse(new URI(href));
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
}
}