Código:
package main;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test {
public static void main(String[] args) throws IOException{
JFrame ventana = new JFrame();
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Image imagen =
//DESCOMENTA UNO DE LOS TRES COMENTARIOS SIGUIENTES PARA APRECIAR LA DIFERENCIA ENTRE UNO Y OTRO
// ImageIO.read(new File("IMAGEN.png"));
// Toolkit.getDefaultToolkit().getImage("IMAGEN.png");
// new ImageIcon("IMAGEN.png").getImage()
JPanel panel = new JPanel(){
private final static long serialVersionUID = 1L;
@Override
public void paint(Graphics g) {
g.drawImage(imagen, 0, 0, null);
}
};
panel.setPreferredSize(new Dimension(300,300));
ventana.add(panel);
ventana.pack();
ventana.setVisible(true);
}
}
Cuando lo probeis tened en cuenta que le teneis que poner una imagen para ver el resultado y llamarla IMAGEN.png.
A todo esto, ¿Cual es la diferencia entre obtener una imagen usando ImageIcon, Toolkit e ImageIO?
Código:
new ImageIcon("IMAGEN.png");
Toolkit.getDefaultToolkit().getImage("IMAGEN.png");
ImageIO.read(new File("IMAGEN.png"));