将图像放在 JLabel 和 JButton 上的方法 [重复]

Posted

技术标签:

【中文标题】将图像放在 JLabel 和 JButton 上的方法 [重复]【英文标题】:The way to put image on JLabel and JButton [duplicate] 【发布时间】:2021-12-15 15:33:12 【问题描述】:

我写这篇文章是因为我之前的问题被错误的答案链接关闭。

我在代码下方的 JLabel 上看不到图像

import javax.swing.*;

public class JButtonEx extends JFrame

JButtonEx() 
    setSize(300,300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JLabel label = new JLabel(new ImageIcon("network/star.png"));
    add(label);
    setVisible(true);


public static void main(String[] args) 
    new JButtonEx();

【问题讨论】:

【参考方案1】:

当你加载图片时,使用 getClass().getResource();

ImageIcon icon = new ImageIcon(getClass().getResource("star.png"));

【讨论】:

上一个问题中标记的副本上的接受答案具有代码行ImageIO.read(getClass().getResource("/wood.jpeg"));。它不仅解决了您的代码的主要问题(使用getResource()),它还具有使用ImageIO 加载图像的功能,而这个答案没有。当代码尝试通过ImageIO 加载图像并失败时,会产生有用的堆栈跟踪。因此,这个答案比副本为后来的观众提供了 less 价值。这是噪音。 但是当我使用 ImageIo 时,它不起作用

以上是关于将图像放在 JLabel 和 JButton 上的方法 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

当面板中的 JButton 悬停时,JPanel 上的 MouseExited 运行?

在 JButton 操作上多次替换 JLabel 文本

如何让 Swing 将我自己的 HTMLEditorKit 用于 JLabel/JButton/等

绘制一个 JButton 看起来像一个 JLabel(或者至少没有按钮边缘?)

JButton、JTextFeild、JLabel 设置背景颜色不起作用

图像界面编程简单窗体创建