java - JFrame 的图标路径

标签 java swing user-interface embedded-resource imageicon

我需要 jframe 上的图像图标,但我不想给出路径。 我正在用这个

jLabel1.setIcon(new javax.swing.ImageIcon("C:\\Users\\ABC\\Desktop\\folder name\\1.jpg"));

因为每个系统都有不同的路径,这就是我无法在其他系统(计算机)上编译它的原因。 我需要某种方法,以便我可以仅通过文件名设置图像图标。图像位于 src 文件夹中。

最佳答案

Image读取为嵌入式资源。此处显示的新 images 文件夹只需在类路径上可用

public class ImageApp {

    public static void main(String[] args)  {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                Image image = null;
                try {
                  image = ImageIO.read(getClass().getResource("/images/1.png"));
                } catch (IOException e) {
                    e.printStackTrace();
                }

                JFrame frame = new JFrame("Image App");
                frame.add(new JLabel(new ImageIcon(image)));
                frame.pack();
                frame.setVisible(true);
            }
        });
    }
}

关于java - JFrame 的图标路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18615932/

相关文章:

java - 如果在 Windows Server 2016 上以非管理员身份运行,exit/b 0 在 process.exitValue 中返回 1

java - 初始化后对 JTable 行进行着色

java - 如何让字符串显示在 jLabel 中?

javascript - 如何为不同父div下的列动态设置等高

c++ - 具体QPushButton样式

java - ExecutorService - 执行具有特定时间限制的每个任务

java - 如何在 linux 服务器上运行一个 jar 的多个实例?

java - 使用 Java 关闭 GUI

java - 为什么这个线程代码挂起

java - 选择 JTabbedPane 选项卡时更改 JFrame 显示