为了账号安全,请及时绑定邮箱和手机立即绑定

我的图片文件放在src那个文件中 ,还是没有反应,怎么回事?

我的图片文件放在src那个文件中 ,还是没有反应,怎么回事?

慕雪6442864 2022-05-25 11:07:17
代码是:jframe f=new jframe;f.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("student.jpg")).getImage());错误是:java.lang.NullPointerException,指的就是第二行那个代码我图片文件放在src那个文件中怎么还是不行代码是jframe.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("F:\\workspace\\src\\200815191639373_2.jpg")).getImage());帮忙看下
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

你的路径写错啦改成:F:\\workspace\\src\\student.jpg,试试;
添加背景代码如下:
一个例子:
import java.awt.FlowLayout;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class bj {

private JFrame frame = new JFrame("背景图片测试");

private JPanel imagePanel;

private ImageIcon background;

public static void main(String[] args) {
new bj();
}

public bj() {
background = new ImageIcon("C:\\Users\\Pictures\\2.jpg");// 背景图片
JLabel label = new JLabel(background);// 把背景图片显示在一个标签里面
// 把标签的大小位置设置为图片刚好填充整个面板
label.setBounds(0, 0, background.getIconWidth(),
background.getIconHeight());
// 把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明
imagePanel = (JPanel) frame.getContentPane();
imagePanel.setOpaque(false);
// 内容窗格默认的布局管理器为BorderLayout
imagePanel.setLayout(new FlowLayout());
imagePanel.add(new JButton("测试按钮"));

frame.getLayeredPane().setLayout(null);
// 把背景图片添加到分层窗格的最底层作为背景
frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(background.getIconWidth(), background.getIconHeight());
frame.setResizable(false);
frame.setVisible(true);
}
}



查看完整回答
反对 回复 2022-05-30
?
杨魅力

TA贡献1811条经验 获得超5个赞

图片那应该写绝对路径

查看完整回答
反对 回复 2022-05-30
  • 2 回答
  • 0 关注
  • 172 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信