Ícones não aparecem no arquivo .jar

Caros.

Criei uma tela em swing utilizando figuras externas como ícones nos botões.
Funcionou corretamente no Eclipse, mas quando gero o arquivo .jar os ícones não aparecem e o nome dos botões ficam desconfigurados.

Alguém sabe oq pode ser???

Obrigado, Sidney.

[quote=sidiii]Caros.

Criei uma tela em swing utilizando figuras externas como ícones nos botões.
Funcionou corretamente no Eclipse, mas quando gero o arquivo .jar os ícones não aparecem e o nome dos botões ficam desconfigurados.

Alguém sabe oq pode ser???

Obrigado, Sidney.
[/quote]

Ele simplismente num tá achando os arquivos, posta o código pra gente ver!!!

Ta aí, em anexo tem 2 Print Screen, um no eclipse e outro no arquivo.jar

[code]

/** ******************* Painel Sul - Botões ******************* /
painelSul = new JPanel(new FlowLayout(FlowLayout.RIGHT));
// Botão Enviar
botaoEnviar = new JButton(“Enviar”, new ImageIcon(“imagens/ok.png”));
// botaoEnviar.setPressedIcon(new ImageIcon(“teste.gif”)); // imagem ao
// pressionar
botaoEnviar.addActionListener(this);
botaoEnviar.setMnemonic(KeyEvent.VK_E);
botaoEnviar.registerKeyboardAction(this, KeyStroke.getKeyStroke(
KeyEvent.VK_ENTER, 0), JComponent.WHEN_FOCUSED);
painelSul.add(botaoEnviar);
// Botão Cancelar
botaoCancelar = new JButton(“Cancelar”, new ImageIcon(
“imagens/cancel.png”));
botaoCancelar.addActionListener(this);
botaoCancelar.setMnemonic(‘C’);
botaoCancelar.registerKeyboardAction(this, KeyStroke.getKeyStroke(
KeyEvent.VK_ENTER, 0), JComponent.WHEN_FOCUSED);
painelSul.add(botaoCancelar);
// Botão Limpar Campos
botaoLimpar = new JButton(“Limpar Campos”, new ImageIcon(
“imagens/page_edit.png”));
botaoLimpar.addActionListener(this);
botaoLimpar.setMnemonic(‘L’);
botaoLimpar.registerKeyboardAction(this, KeyStroke.getKeyStroke(
KeyEvent.VK_ENTER, 0), JComponent.WHEN_FOCUSED);
painelSul.add(botaoLimpar);
// Botão Sair
botaoSair = new JButton(“Sair”, new ImageIcon(“imagens/fechar.png”));
botaoSair.addActionListener(this);
botaoSair.setMnemonic(‘S’);
botaoSair.registerKeyboardAction(this, KeyStroke.getKeyStroke(
KeyEvent.VK_ENTER, 0), JComponent.WHEN_FOCUSED);
painelSul.add(botaoSair);
/
* ******************* Painéis ******************* /
add(painelNorte, BorderLayout.NORTH);
add(painelCentro, BorderLayout.CENTER);
add(painelSul, BorderLayout.SOUTH);
/
* ******************* Configurações da Janela ******************* */
Container tela = getContentPane();
pack();// Ajusta tamanho da janela aos seus componentes
// tela.setBackground(Color.BLUE);// Seta cor de fundo.
// tela.setBackground(new Color(0, 20, 100));// Ou assim.
setVisible(true);// mostra janela
// setResizable(false);// Impede redimendionamento
setLocationRelativeTo(null);// Faz com que a janela fique centralizada.
SetRootPane().setDefaultButton(botaoEnviar);// atende a tecla enter.
// Define um Icone para a tela.
setIconImage(new ImageIcon(“teste.gif”).getImage());
// Impede o fechamento da janela.
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
// Evento relacionado ao clicar em fechar janela.
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
confirmaSaida();
}
});

}[/code]




botaoCancelar = new JButton("Cancelar", new ImageIcon("imagens/cancel.png"));  

Olha no Meta-Inf do seu jar, mas se não me engano o netbeans mapeia da seguinte forma:

-no mesmo diretório que vc colocar seu jar vc deve colocar o diretório imagens
-Dentro do NB use a opção classpath para adicionar o arquivo.

CONSELHO: Veja na pagina da sun ou o tutorial da aqui do GUJ para como criar arquivos jar, tente fazer um fazer frame simple com imagem na mão e só depois use o nb, ficar dependendo da IDE nunca é um boa idéa, uma coisa é usar a IDE pra te ajudar, outra coisa é não consegui fazer o que vc tem de fazer sem a IDE.

jogue a pasta /imagens dentro do dir onde ta o .jar e execute p ve se pega.

Para carregar imagens em um aquivo utilize na jdk 5 :

Senao utilize:

Sendo que o parametro do metodo eh o caminho da imagem no seu classpath.

Obrigado pessoal, valeu pela ajuda.

Deu tudo certo.

Abraço.