2017-02-25 35 views
-1

我有一個項目明天交付,並一直在努力解決一個問題。 我設置了Jframe的圖標,但是當我運行netbeans來構建JAR時,它無法獲取我設置的圖標。當在netbeans上運行它時,它工作正常。運行jar時圖片無法顯示。Java設置圖標在課堂上,並在框架

我的代碼是用於訪問類別如下:

public class LigacaoBD { 
public ImageIcon icone; 
protected BufferedImage imgicone; 

public LigacaoBD() { 
    try { 
     imgicone = ImageIO.read(new File("build/classes/Img/logo.png")); 
     icone = new ImageIcon(imgicone); 


    } catch (IOException ioe) { 
     JOptionPane.showMessageDialog(null, "Erro no carregamento da imagem icone", jftitulo, 
       JOptionPane.WARNING_MESSAGE, icone); 
    } 
} 

} 

我的代碼是對JFrame如下我想設置圖標:我以後它能夠

setIconImage(ligaDB.imgicone); 

在運行JAR時加載圖標。

在此先感謝。

+2

的圖像必須在JAR文件中捆綁的,你怎麼樣那麼這將取決於你的IDE,例如在Netbeans中,你可以簡單地將這些圖像添加到Maven的'src'目錄中,它們需要包含在'resources'目錄中。無論如何,一旦你有了這些,你就可以使用'ImageIO.read(getClass()。getResource(「/ img/logo.png」))'加載圖像 – MadProgrammer

+0

我有像這樣的圖像src/img /logo.png –

+0

現在我更改爲ImageIO.read(getClass()。getResource(「/ img/logo.png」)); 我的JAR根本不會運行 –

回答

0

的圖像必須在src文件夾,然後我通常加載它是這樣的:
ImageIcon icon = new ImageIcon(getClass().getClassLoader().getResource("img_folder/icon.png"));

PS:img_folder裏面src