Estou fazendo um código para abrir imagens da internet por meio de URLs, eu consigo, porém não consigo fazer em uma label específico, só consigo fazer abrir a imagem criando uma nova janela. E eu queria saber se vocês me ajudariam com essa pequena duvida.
Queria que a imagem fosse carregada no fundo azul.
Desde já, agradeço
Segue o código:
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
/*
* @author Pixes
*/
class Janela extends Frame
{
public Label lb_Endereco;
public Label lb_Arquivo;
public Label lb_Mensagem;
public TextField tf_NomeArquivo;
public Button bt_Carregar;
public Panel pn_Imagem;
public Button bt_ir;
JTextField tf_URL;
public Janela() throws IOException
{
lb_Endereco = new Label("Insira a URL:");
lb_Arquivo = new Label("Arquivo interno:");
lb_Mensagem = new Label("Identificações ...");
tf_URL = new JTextField(28);
tf_NomeArquivo = new TextField("", 25);
bt_Carregar = new Button("Arquivo");
pn_Imagem = new Panel ();
bt_ir = new Button("Ir");
Panel painelNorte = new Panel();
painelNorte.setLayout(new GridLayout(2,3));
painelNorte.setBackground(Color.white);
painelNorte.add(lb_Endereco);
painelNorte.add(tf_URL);
painelNorte.add(bt_ir);
painelNorte.add(new Panel());
painelNorte.add(lb_Arquivo);
painelNorte.add(tf_NomeArquivo);
painelNorte.add(bt_Carregar);
lb_Mensagem.setBackground(Color.white);
lb_Mensagem.setForeground(Color.red);
this.setLayout(new BorderLayout());
this.add("North", painelNorte);
this.add("Center", pn_Imagem);
this.add("South", lb_Mensagem);
bt_ir.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String valor = tf_URL.getText();
Image image = null;
{
try {
URL url = new URL(valor);
image = ImageIO.read(url);
} catch (IOException ex) {
}
}
//Essa parte cria uma nova janela
JFrame frame = new JFrame();
JLabel label = new JLabel(new ImageIcon(image));
frame.getContentPane().add(label, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
//
if(tf_URL.getText().trim().equals("")){
JOptionPane.showMessageDialog(null, "Escreva o endereço ");
}
}
});
setBackground(Color.blue);
}
}
public class Teste{
public static void main(String argumentos[]) throws IOException{
Janela jan = new Janela();
TratEventosJan trat = new TratEventosJan();
jan.addWindowListener(trat);
jan.show();
}
}
class TratEventosJan extends WindowAdapter{
@Override
public void windowClosing(WindowEvent evento){
System.exit(0);
}
}