これは、Test2 というプロジェクトの test2 というパッケージの Test2.java というファイルにあるコードです。
package test2;
import javax.swing.JFrame;
public class Test2 {
public static void main(String[] args) {
JFrame mainWindow = new HtmlWindow("<html>"
+ "<a href=\"http://stackoverflow.com\">"
+ "blah</a></html>");
mainWindow.setVisible(true);
}
}
同じパッケージの HtmlWindow.java というファイルにこのコードがあります。
package test2;
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
class HtmlWindow extends JFrame {
public HtmlWindow(String refreshGrid) {
super("blah");
setSize(300, 100);
Container content = getContentPane();
String labelText = refreshGrid;
JLabel coloredLabel = new JLabel (labelText, JLabel.CENTER);
content.add(coloredLabel, BorderLayout.NORTH);
}
}
プロジェクトを実行すると、予想される場所に「何とか」という単語が表示され、青と下線が引かれますが、単語の上にカーソルを置いてもカーソルが変化せず、クリックしても何も起こりません。
私の質問は次のとおりです。
- jLabelsにハイパーリンクを配置することは可能ですか?
- もしそうなら、私は何か間違ったことをしていますか、それともプログラムが正しく実行されていませんか?
- そうでない場合、良い代替手段は何ですか? 私が JButton を使用しない理由は、最終的には任意の数のハイパーリンクのグリッドを作成したいためであり、ハイパーリンクを画像にしたいのですが、JButton には画像を含めることができますが、ハイパーリンクを「ボタン」のように見えます。編集不可能な JEditorPane を使用できると思いますか?