Icone em JButton

8 respostas
D

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);

8 Respostas

ViniGodoy
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.

D

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)
....
ViniGodoy

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

D

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

pintofree

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.

Bessax

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:

A

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:

galoneti

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:

Criado 26 de fevereiro de 2008
Ultima resposta 17 de set. de 2008
Respostas 8
Participantes 6