Não consigo usar o image!

2 respostas
P

Boa noite

Pessoal me digam o que está errado nessa rotina:

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;

public class ImageDemo extends Frame implements ActionListener {
// Variaveis //

public TextField txtArquivo;
public Image imagem;

// -------- //

public static void main(String[] args) {
	ImageDemo f = new ImageDemo();
	f.setVisible(true);
}

public ImageDemo() {
   super("Demonstração de Imagem");
   setSize(300,300);
   setBackground(SystemColor.lightGray);
   
   // Instanciando os componente //
   txtArquivo = new TextField();
   txtArquivo.addActionListener(this);
   
   add(txtArquivo, BorderLayout.SOUTH);
}

public void actionPerformed(ActionEvent e) {  
	if (imagem != null) {
	   imagem.flush();
	   imagem = Toolkit.getDefaultToolkit().getImage(txtArquivo.getText());
	   repaint();
	}
}

public void paint(Graphics g) {
	if (imagem != null) {
	   Insets i = getInsets();
	   g.drawImage(imagem, i.left, i.top, this);
	}
}
}

Eu não sei porque ele não mostra a imagem no Frame, a imagem é a mesma que está no meu avatar!!! Eu segui esse exemplo da minha apostila de Java, e não deu certo!!! Alguém poderia me dizer porque?! Ou se tem algum componente que exibi imagem como no VB que tem o Picture!?

Obrigado

Pilantra :cool:

2 Respostas

F

tem um erro no metodo actionPerformed(), tenta assim:

public void actionPerformed(ActionEvent e) { 
   if (imagem != null) {
      imagem.flush();
   }
    imagem = Toolkit.getDefaultToolkit().getImage(txtArquivo.getText());
    repaint();
}

do jeito que tava soh ia mudar a imagem se jah tivesse outra sendo exibida…

P

8O

Não tenho nem o que falar, deu certinho agora, os caras devem ter errado na rotina sei lá!!!

Valeu cara
flw

Pilantra 8)

Criado 2 de fevereiro de 2005
Ultima resposta 2 de fev. de 2005
Respostas 2
Participantes 2