Java 在JFrame窗口上显示图像

Java 在JFrame窗口上显示图像,java,image,swing,jframe,drawimage,Java,Image,Swing,Jframe,Drawimage,需要帮助尝试在JFrame上显示图像。 一直在使用下面的代码,只有窗口显示,没有图像出现。我还附上了我的项目是如何组织的 试试这个: URL logoIconURL = getClass().getResource(""); //path of your image file ImageIcon logoIcon = new ImageIcon(logoIconURL); frame.setIconImage(logoIcon.getImage()); 1.不要覆盖喷漆,您正在破坏喷漆链

需要帮助尝试在JFrame上显示图像。 一直在使用下面的代码,只有窗口显示,没有图像出现。我还附上了我的项目是如何组织的


试试这个:

URL logoIconURL = getClass().getResource(""); //path of your image file

ImageIcon logoIcon = new ImageIcon(logoIconURL);

frame.setIconImage(logoIcon.getImage());

1.不要覆盖
喷漆
,您正在破坏喷漆链要求;2.不要在绘制方法中加载资源,这是对时间和资源的巨大浪费;3.使用
ImageIO.read
加载图像,而不是使用
Toolkit
ImageIcon
,因为当无法加载图像时,它将引发异常,而不是静默失败;4.一个
JLabel
将是一个比在“猜测”中使用自定义绘制更好的解决方案,我会说
Toolkit.getImage
找不到图像文件。它期望图像应该位于当前工作目录Override paintComponent而不是paint中,您的解决方案是查找图像。另外,如果您没有调用create(),则不需要在图形2d上“完成”(正确的是dispose()),您将中断与屏幕相关的其余绘制。将图像设置到屏幕上的特定位置如何?只需给出label并使用label.setIcon()方法即可。
URL logoIconURL = getClass().getResource(""); //path of your image file

ImageIcon logoIcon = new ImageIcon(logoIconURL);

frame.setIconImage(logoIcon.getImage());