首页 > 解决方案 > 为什么我的图像图标没有出现在我的 JFrame 中?

问题描述

在此处输入图像描述在此处输入图像描述我正在尝试显示图像图标 PNG,我已正确引用项目文件夹中名为“logo.png”的文件并设置图标,如下所示。我不确定我在哪里出错了,因为我从第 14 分钟左右开始遵循本教程(https://www.youtube.com/watch?v=Kmgo00avvEw&t=298s),我已确保代码正确但我当我在 Eclipse 中运行代码时,仍然无法让图像出现在文本旁边。

import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Rectangle;
import javax.swing.ImageIcon;

public class mainClass {
    
        
    public static void main(String[] args) {
        
        // JFrame is a GUI frame to add components to
        
        //JLabel a GUI display area for a string of texts and image.

        ImageIcon image = new ImageIcon("logo.png");
        
        JLabel label = new JLabel(); //creates JLabel
        label.setText("Welcome to Magic Shape"); //sets text for label
        label.setIcon(image);
        
        
        JFrame frame = new JFrame(); //creates JFrame
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //close operations when...
        frame.setSize(500, 500); //sets size of JFrame (can resize)
        frame.setTitle("Magic Shape"); //title of Program
        frame.setVisible(true); //makes frame visible
        frame.add(label); //adds label
        
        
        
        
        

        
        

        
    }
}

标签: java

解决方案


logo.png根据您的代码,Java在工作目录中搜索该文件。工作目录是返回的值System.getProperty("user.dir")。如果 Java 没有找到该文件,它实际上会创建一个空图标,这就是您看不到该图标的原因。

只需确保将文件放在正确的目录中即可。

请参阅以下内容。


推荐阅读