JButton não exibe imagens

Pessoal, estou tentando uma coisa que é muito comum! Um simples gif (de 24x24 pixels, feito no Photoshop e salvo com a opção “Save for web”) não aparece no JButton. :oops:

No JDK1.2 (em casa, num Linux RH7.3) faço simplesmente:

JButton b = new JButton(new ImageIcon("images/chato.gif"));

sempre funciona! Mas simplesmente o JButton não exibe. Estou com JDK 1.4.0-rc rodando no Win2000. O que pode estar acontecendo?

(Quase ficando maluco, rodei um exemplo da Sun, e ocorre a mesma coisa…: a imagem não aparece no JButton) Alguém já passou por essa?!

Essa é du mau… :stuck_out_tongue:
Se o exemplo da Sun não funcionou então não é código…

Já tentou colocar num JLabel só por desencargo de consiência??
Essa num tem como eu ajudar não… :
P

Mmm :shock: tb não!

JLabel b = new JLabel("Teste", new ImageIcon("exceptions.gif"), SwingConstants.LEFT); panel.add(b);

Caramba! Meio punk, né?!

No JButton é Icon e nom ImageIcon (nao lembro direito)

Olha, a primeira coisa é que nos JButtons só dá pra por imagens .gif e .jpg … mas isso vc fez …

É ImageIcon sim q usa, mas só que ao invés do construtor eu uso o método SetIcon () … além disso eu passo o caminho (path) completo da imagem. :!:

Pessoal… o problema é o seguinte:

O Java 2 1.4.0_rc (que estava usando) é um “release candidate” e tinha bugs (como todo software tem bugs). Um deles é esse problema com a renderização de objetos ImageIcon por parte da java2d.

Uma solução que funciona na versão 1.4.0 (não a RC) é adicionar ao comando java o seguinte:

$ java -Dsun.java2d.noddraw=true MinhaClasse

Eu fiz assim: desinstalei o Java WebStart, o JDK e JRE; baixei a versão 1.4.1_01 do site da sun; instalei, compilei e executei (sem a opção que eu mencionei acima) e… rodou perfeitamente.

Se você tem a versão 1.4.0 e não pode ou não quer atualizar (queira atualizar :slight_smile: ) então, inclua a opção mencionada acima, que funcionará (se você estiver experimentando este tipo de problema).

Agradeço a todos os que tentaram me ajudar. Muitíssimo obrigado, mesmo! Um grande abraço.


String strPath = System.getProperties("user.dir");

ImageIcon icone = new ImageIcon(strPath+"Iconesfigura.gif");

JButton botao = new JButton(icone);

Espero ter ajudado

Ate mais…

Ah…dentro co caminho do construtor do JButton faltou a “/”… :lol:

Ate…