[RESOLVIDO] Ícone personalizado no JFrame

Pessoal,

tenho um JFrame e gostaria de personalizar o ícone do mesmo.

Quando rodo a aplicação pelo Netbeans 6.9, o ícone é exibido como desejado.
Porém, ao rodar a aplicação fora do IDE, o ícone não é carregado.

   public frmAdicionar(java.awt.Frame parent, boolean modal, CompeTableDAO dao, frmGerenciar control) {
        super(parent, modal);
        this.setIconImage(new ImageIcon("src/icones/add1.png").getImage()); // AQUI --> será problema na url ?
        initComponents();
        this.dao = dao;
        this.control = control;
        getRootPane().setDefaultButton(btAdicionar);
    }

Alguém sabe ?

tenta passar a url do icone assim

System.getProperty("user.dir") + "/SuaPasta/SeuIcone.png"

o problema é a URL, pode ter certeza.

é chatinho mecher com essas coisas no java

sugiro que vc deixe seus icones fora do SRC apenas um conselho

para testar se o diretorio está correto joga dentro de um System.out

Use o método getResource para pegar a URL.

new ImageIcon(getClass().getResource("/icones/add1.png")).getImage()

[quote=rafaelviny]tenta passar a url do icone assim

System.getProperty("user.dir") + "/SuaPasta/SeuIcone.png"

o problema é a URL, pode ter certeza.

é chatinho mecher com essas coisas no java

sugiro que vc deixe seus icones fora do SRC apenas um conselho

para testar se o diretorio está correto joga dentro de um System.out[/quote]

Oi.

O código

 public frmPrincipal(java.awt.Frame parent, boolean modal, CompeTableDAO dao, CompeTable compeTableResult) {
        this.dao = dao;
        this.setIconImage(new ImageIcon("e:\bbIcon.jpg").getImage());
        initComponents();
        txtEmp.addKeyListener((KeyListener) this);
        getRootPane().setDefaultButton(btPesquisar);
        String s = System.getProperty(("user.dir") + "e:\bbIcon.jpg");
        System.out.print(s);
}

retorna o seguinte:
nullIcone erro:
null

Alguma ideia ?

faça assim

imprima o valor do System.getProperty("user.dir") para vc ver até aonde será impresso o diretorio

se nao me engano é assim:

HD/seuProjeto/ caso esteja no C:, D: , etc

dai vc completa o caminho com o que falta
ex: pastaDentroDoProjeto/Icone.ico

o sistema não está encontrando o icone com o caminho que vc passou para ele

Realmente era a url.
Eu estava informando: [color=blue]src/icones/file.png[/color]
Eu só precisava informar a url completa: [color=blue]/app/src/icones/file.png[/color]

Agradeço pela atenção.

disponha

:slight_smile: