Carregar imagem

2 respostas
U

seguinte código, ele não consegui carregar a imagem do HD, quando é uma url funciona, porque será ?

package test;

import java.awt.*;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;


public class Image2 {
	
	public static void main(String[] args) throws InterruptedException, MalformedURLException {
		
		String filePath = "test.gif";
		
		File file = new File(filePath);
		
		System.out.println(file.exists());
						
		Image im = Toolkit.getDefaultToolkit().createImage(filePath);
		
		System.out.println(im.toString());
		
		
		
	    MediaTracker mediaTracker = new MediaTracker(new Container());
	    
	    mediaTracker.addImage(im, 0);
	    
	    mediaTracker.waitForAll();

	    System.out.println("Houve erro:"+(mediaTracker.statusID(0, false) == MediaTracker.ERRORED));	
	    System.out.println("SIZE:"+im.getWidth(null)+"-"+im.getHeight(null));
		
	}
	
}

2 Respostas

fenrir

Você não disse qual é o erro ou problema que gera!
Olhando o código, uma coisa que eu posso deduzir é que não está achando o arquivo com a imagem.

Uma dica é, ao invés de usar um objeto File, use um objeto URL. E para ler um arquivo, use o método getResource do ClassLoader atual. Dessa forma, basta o seu arquivo estar no classpath da aplicação (inclusive dentro do seu JAR).

getClass().getClassLoader().getResource("nome do seu arquivo")
rpfragoso

Pessoal,
Meu problema é parecido. Eu tenho uma imagem em um label, quando rodo a aplicação pelo ide, tudo bem, mas quando faço o deploy para o jar a imagem não aparece. O código que estou usando é esse:

URL caminhoIMG = getClass().getClassLoader().getResource("img/teste.jpg"); String caminhoImg = caminhoIMG.getFile().replaceFirst("/", "").replaceAll("%20", " "); icon = new ImageIcon(caminhoImg); jLabel1 = new JLabel(icon);

Se alguém puder me ajudar, agradeço desde já.

Criado 13 de setembro de 2007
Ultima resposta 22 de mai. de 2008
Respostas 2
Participantes 3