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

代码是: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());
帮忙看下

慕雪6442864
浏览 204回答 2
2回答

慕村225694

你的路径写错啦改成: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);// 内容窗格默认的布局管理器为BorderLayoutimagePanel.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);}}

杨魅力

图片那应该写绝对路径
打开App,查看更多内容
随时随地看视频慕课网APP