我創建了一個我的java遊戲的.jar文件。該程序運行良好的Java編譯器,但是當我嘗試運行.jar文件時,它沒有顯示任何結果。我再次使用運行它通過CMD:運行.jar文件時出錯
java -jar PokemonGame.jar`
...它給了我一個錯誤:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.(init)(ImageIcon.java:167)
at MainFile.(init)(MainFile.java:25)
at MainFile.main(MainFile.java:86)
我跟蹤我評論的行號:
public class MainFile extends JPanel implements MouseListener{
MainFile m;
static JFrame mainWindow = new JFrame("POKEMON MEMORY GAME");
static TimerFile timerPanel;
static GridFile gridPanel;
static LogsFile logsPanel;
static ButtonMenuFile buttonMenuPanel;
JPanel blockPanel;
URL url;
BufferedImage winlose;
JPanel winlosePanel;
//MainFile line 25
ImageIcon gameBackground = new ImageIcon(getClass().getResource("Assets\\Pokedex.png"));
Image gameImage = gameBackground.getImage();
GameSoundFile gameSound = new GameSoundFile();
GameSoundFile screenSound = new GameSoundFile();
//...some codes here
public static void main(String[] args) {
//MainFile line 86
MainFile mainPanel = new MainFile();
mainPanel.setMainPanel(mainPanel);
mainWindow.add(mainPanel);
mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainWindow.pack();
mainWindow.setLocationRelativeTo(null);
mainWindow.setResizable(false);
mainWindow.setVisible(true);
}
public MainFile(){
//...MainFile codes here
}
}
誰能告訴我這裏的缺陷,因爲它似乎是一個奇怪的行爲,這個程序可以用java編譯器運行,但不能運行在.jar可執行文件上。
似乎無法獲取圖像文件。 –
'getClass()。getResource(「Assets \\ Pokedex.png」)''null'? –
但它能夠使用java編譯器運行。它在運行時顯示沒有錯誤。只有當我將它轉換爲顯示錯誤的.jar文件時。 – Rapharlo