java - Java Swing中带有JLabel的超链接
问题描述
我的代码有一点问题,这意味着超链接没有显示在 JLabel 下。我试图通过在不同的类中创建 JLabel 并在主类中运行该方法来解决该问题,但是当我这样做时,它只返回白色方块而不是标签。编译时没有错误。
Main
班级:
import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.BorderFactory;
import javax.swing.border.Border;
import java.awt.*;
import java.awt.Desktop;
import java.awt.event.ActionListener;
import java.net.URI;
public class Main extends JFrame
{
static JLabel appicationStatute;
public Main() throws Exception
{
super();
registerWindowFrame = new JFrame("name");
registerWindowFrame.setSize(500,750);
registerWindowFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
registerWindowFrame.setLayout(null);
registerWindowFrame.getContentPane().setBackground(Color.RED);
Statute status = new Statute();
status.setSize(status.getPreferredSize());
status.setLocation(10,450);
registerWindowFrame.getContentPane().add(status);
registerWindowFrame.setVisible(true);
}
public static void main (String [] args) throws Exception
{
new Main();
}
}
Statue
班级
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Desktop;
import java.awt.FlowLayout;
import java.awt.HeadlessException;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import javax.swing.*;
public class Statute extends JPanel {
private String text = "application statute";
private JLabel hyperlink = new JLabel(text);
public Statute() throws HeadlessException {
super();
hyperlink.setForeground(Color.BLUE.darker());
hyperlink.setCursor(new Cursor(Cursor.HAND_CURSOR));
hyperlink.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
try {
Desktop.getDesktop().browse(new URI("http://www.codejava.net"));
} catch (IOException | URISyntaxException e1) {
e1.printStackTrace();
}
}
@Override
public void mouseExited(MouseEvent e) {
hyperlink.setText(text);
}
@Override
public void mouseEntered(MouseEvent e) {
hyperlink.setText("<html><a href=''>" + text + "</a></html>");
}
});
}
}
解决方案
推荐阅读
- python - Python_打印函数的结果
- python - 如何获得 2 个 django 表的每个数量的差异?
- java - 多个循环时的 Java 8 Stream 帮助
- python - Firebase 存储文件上传“连接中止”。错误
- python - 无法在 django 中传递静态文件
- javascript - 如何在响应式视频库中使不同大小的 Facebook 视频大小相同
- django - 如何计算Django模板中列表项中的列表数量
- pytorch - 在使用 Python 3.7 的 WSL2 conda 环境中的系统错误中找不到 NVIDIA 驱动程序
- javascript - 从多维数组中的每个索引中删除最后 2 个元素
- python - 为什么我期望状态代码为 200,但在 python 中进行单元测试时却得到状态代码 404?