2017-02-25 38 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