我在我的Jframe中有一個圖像圖標。我在其中使用一個圖像。當我導出到一個Runnable Jar.The圖像不顯示。如何讓資源在可運行的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));
我GOOGLE了&發現的getResourceAsStream method.But似乎拋出NullPointerException。
所以幫我在正確的方向:)
感謝您的幫助......
注意 我試過的方法進行了報道
我也有同樣的問題,最好在另一個系統上嘗試getResourceAsStream方法。 – ashokramcse
使用zip應用程序(f.e. 7-zip)打開runnable.jar,並查看文件是否包含在jar和各自的目錄中。通常,錯誤的設置會阻止將資源包含到jar中。 –
請參閱[tag:embedded-resource]信息。 – trashgod