【发布时间】:2014-02-07 04:43:59
【问题描述】:
我的 Jframe 中有一个图像图标。我在其中使用了一个图像。当我导出到可运行的 Jar 时。图像不显示。
String iPath = "res/images/Mobile.png";
JLayeredPane layeredPane = new JLayeredPane();
layeredPane.setBounds(0, 0, 315, 610);
InputStream stream = (InputStream) getClass().getResourceAsStream(iPath);
JLabel mobileImageLabel;
mobileImageLabel = new JLabel(new ImageIcon(iPath));
//mobileImageLabel = new JLabel(new ImageIcon(ImageIO.read(stream)));
// mobileImageLabel = new JLabel(new ImageIcon(AppFrame.class.getResource(iPath)));
mobileImageLabel.setBounds(0, 0, 315, 610);
mobileImageLabel.setVisible(true);
layeredPane.add(mobileImageLabel, Integer.valueOf(0));
我用谷歌搜索并找到了 getResourceAsStream 方法。但它似乎抛出了 NullPointerException。
所以请帮助我正确的方向:)
感谢您的帮助...
注意 我试过的方法被评论了
【问题讨论】:
-
我也有同样的问题,最好在另一个系统上尝试 getResourceAsStream 方法。
-
使用 zip 应用程序(例如 7-zip)打开您的 runnable.jar,并查看该文件是否包含在 jar 和相应的目录中。通常错误的设置会阻止资源被包含到 jar 中。
标签: java swing jframe getresource