我对Swing(或者netBeans)有一点问题,我正在进行测试JFrame
,我用这行代码用图像改变了它的背景:
this.setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File("src/testdesign/BG.png")))));
我使用netBeans向框架添加了JLabel
Icon
。
编译项目时的结果(在IDE中)是:
一切都很好..但是当我生成一个JAR文件时,结果是:
我不是Java专业人士,所以我认为改变背景的方式不是正确的方式,或者可能是另一回事。
答案 0 :(得分:2)
您使用不正确的方式加载背景图片。在您的代码映像中,位置取决于项目目录src
。您应该从类路径加载图像,但文件系统。你Class.getResource
方法来修复它,例如:
this.setContentPane(new JLabel(new ImageIcon(getClass().getResource(pathToImage))));