Icone em JButton

To tentando adicionar um icone a um JButton, ele executa tudo certo, mas nao mostra o icone

to fazendo o projeto no NetBeans, ja tentei colocar o icone em todas as pastas do meu projeto mas nada…

Icon icone = new ImageIcon("C:\Documents and Settings\Diego\Meus documentos\NetBeansProjects\CampoMinado\bomba.ico");
buttons[i][k].setIcon(icone);
Icon icone = new ImageIcon("bomba.ico");
buttons[i][k].setIcon(icone);
Icon icone = new ImageIcon(getClass().getResource("/bomba.ico"));

Assim você não terá problemas em acessar a imagem também de dentro de um jar.
O ícone deve estar na raiz do seu projeto (você pode especificar também pastas, como /images/bomba.ico) ou, se eu não me engano, pode também fica na pasta resource do Netbeans.

ta dando isso

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.ImageIcon.<init>(ImageIcon.java:138)
        at campominado.Tela.abrir(Tela.java:70)
....

Então é porque ele não achou o ícone.

mas o icone ta lah… na pasta do meu projeto…

o codigo pra icone nao tem segredo, e

 btSair.setIcon(new javax.swing.ImageIcon(getClass().getResource("/deskclin/resources/sair_menu.png")));

esse exemplo e de um programa meu aki,

o seu erro deve ser algo bem simples, posta uma quantidade maior do seu codigo ai pra verificarmos se nao tem algum outro errinho ai.

Velhimmm…

Como vc provavelmente está usando o NetBeans 6, em “tempo de projeto”, clique no botão e vai em propriedades “Icon”, e lá defina de onde vc vai buscar a imagem, que o Netbeans vai gerar este código pra vc, claro que escrever na mão é bem melhor por questões de aprendizagem, mas pra ganhar tempo este recurso do Netbeans ajuda muito. Como sugestão sugiro q vc crie um pacote em seu projeto e lá coloque sua imagens(sugiro que sejam PNG, na minha humilde opinião é melhor).

Comigo tem funcionado bem! :slight_smile:

Acho q ele gera os botoes em tempo de execução… pq ta usando um array de JButton…
Use o getClass().getResource()… ponha seu icone dentro do projeto, em algum pacote, coloque o endereco de pacote do icone, como vc faria num import de uma classe… seja feliz…
Ah mais uma sugestão: verifique o tamanho do seu botão… pode ser q ele esteja pequeno demais para apresentar a imagem que vc quer… :wink:

No caso de esta usando o netbeans!

Para colocar um icone em jbutton selecione o jbutton va em propriedades e na opçao icon procure um icone! :slight_smile: