这是我在名为 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);
}
}
当我运行该项目时,我会在预期的位置看到一个带有“blah”一词的窗口,带有蓝色和下划线,但是当我将鼠标悬停在该单词上时光标不会改变,当我单击它时也不会发生任何事情。
我的问题如下;
- 是否可以在 jLabels 中放置超链接?
- 如果是这样,是我做错了什么,还是程序运行不正常?
- 如果没有,有什么好的选择?我不使用 JButtons 的原因是,最终我想创建一个包含任意数量超链接的网格,并且我希望超链接是图像,虽然 JButtons 可以在它们上面有图像,但我不希望超链接看起来像“按钮”。我想我可以使用不可编辑的 JEditorPane 吗?