我一直在互联网上试图弄清楚如何编译成可运行的jar后如何显示图像图标。我发现这个问题的方法为时已晚,我在eclipse上运行了我的程序很多次,并且一切正常,现在6个月后项目完成了,我用eclipse编译了程序,没有音频或图像。在网上阅读,它说关于images文件夹的位置应该在jar中,但是我的文件夹没有放在那里吗?
我一直在玩着images文件夹在源文件夹中移动它,但是没有用。我有一种感觉,这可能与资源的路径有关……但是那仅仅是猜测。
我构建了一个具有相同结果的简单程序...在Eclipse中运行时有效,但在编译时不起作用。有人可以通过修改下面的代码向我展示一个示例。提前致谢。
源代码:
package ImageIcon;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Gui {
public static JLabel c;
public Gui(){
JFrame f = new JFrame();
JPanel p = new JPanel();
p.setBounds(0, 0, 120, 200);
p.setBackground(Color.black);
p.setLayout(null);
JPanel bg = new JPanel(new BorderLayout());
bg.setBounds(50, 50, 15, 15);
bg.setBackground(Color.white);
ImageIcon a = new ImageIcon("images/success.jpg");
c = new JLabel(a);
f.setSize(100, 200);
f.setLayout(null);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.add(p);
p.add(bg);
bg.add(c);
}
public static void main(String[] args) {
new Gui();
}
}
使用当前目录设置,该images
目录甚至都不会内置到jar中。尝试提取它,您很可能会发现它不在其中。
您可以通过以下事实看出来:文件夹中没有小包装徽标,如此处所示 resources
内置在类路径(/ jar)中的唯一默认目录是src
。我们需要resources
将src
或配置构建路径以包含中的文件resources
。完成后,我们将在文件夹图标中看到小包装图标。这就是我们知道文件在构建路径上的方式
第一张图片:不能,它不起作用(这是您当前的困境)
第二张图片:
ImageIcon icon = new ImageIcon(
getClass().getResource("/resources/stackoverflow.png"));
第三张图片:
ImageIcon icon = new ImageIcon(
getClass().getResource("/stackoverflow.png"));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句