如何将ImageIcon添加到JFrame?

我正在尝试将图像添加到一个帧但看起来它不起作用。 ImageIcon从指定文件创建的图像。 图像文件位于java文件存在的seam目录中。

import java.awt.BorderLayout; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class image { public static void main(String args[]) { TimeFrame frame = new TimeFrame(); } } class TimeFrame extends JFrame { //Image icon = Toolkit.getDefaultToolkit().getImage("me.jpg"); ImageIcon icon = new ImageIcon("me.jpg"); JLabel label = new JLabel(icon); public TimeFrame(){ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("My Frame"); setSize(500,400); //this.setIconImage(icon); add(label,BorderLayout.CENTER); setVisible(true); } } 

如果您的图标位于TimeFrame java文件旁边,则应使用

 java.net.URL imgUrl = getClass().getResource("me.jpg"); ImageIcon icon = new ImageIcon(imgUrl); 

要么

 java.net.URL imgUrl = TimeFrame.class.getResource("me.jpg"); ImageIcon icon = new ImageIcon(imgUrl); 

您(可能)当前正在您的工作目录中查找它,您可以通过它输出

 System.out.println(System.getProperty("user.dir")); 

你会尝试这个吗?

  ImageIcon ImageIcon = new ImageIcon("me.jpg"); Image Image = ImageIcon.getImage(); this.setIconImage(Image); 

只需将目录更改为“src / me.jpg”