Erro ler imagem do .jar

4 respostas
T

Pessoal boa tarde.
Tenho um arquivo top.Jar que adiciono em outro projeto, o Topnew.

o TopNew cria um objeto de uma classe do top.jar (formAcess). so que ele precisa carregar uma imagem que tambem está contida dentro do top.jar.
mas n encontra a imagem. o que fazer? como eu devo passar a string do caminho do arquivo?

//este codigo esta dentro do initComponent do jdialog
jImagePanel2 = new br.com.topsoft.topacess.Util.JImagePanel("logo.jpg");

//construtor do JImagePanel
public JImagePanel(String fileName) {

        try {
            //image sempre fica com null apos o getResource
            InputStream image = getClass().getResourceAsStream(fileName);
            this.background = ImageIO.read(image);
        } catch (IOException ex) {
            Logger.getLogger(JImagePanel.class.getName()).log(Level.SEVERE, null, ex);
        }
        if (this.background == null) {
            throw new NullPointerException("Buffered image cannot be null!");
        }
    }

no projeto TopNew chamo somente o construtor padrão do JDialog;

o q pode haver de errado? abrass

4 Respostas

jaboot

Cara, eu não tenho 100% de certeza, mas procura algo no fórum sobre abrir arquivos.jar

É a mesma coisa que abrir um zip. Pode ser isso.

kaoe

Se o jar esta no seu classpath passa o caminho da imagem considerando o raiz como sendo o proprio jar então se a imagem esta “solta” dentro do jar chama ela como /imagem.png agora se ela esta numa pasta chama /pasta/imagem.png

mfidelis

bom amigo… Sera que cchamando a imagem diretamente nao ia dar certo?
Tenho uma app que pega as imagens do Jar…
Tipo, faz um import do pacote e tenta…

kaoe

Sim você pode usar ela do jar considerando que ele é um zip e o java tem api para ler e extrair o conteúdo do jar mais a não ser que vc tenha um motivo especifico para fazer desta forma colocar o jar no classpath usar a carga com getResourceAsStream é bem mais simples.

Criado 1 de novembro de 2011
Ultima resposta 2 de nov. de 2011
Respostas 4
Participantes 4