Mostrar imagenes en nuestra aplicación seing.
Para mostrar una imagen en nuestra aplicación lo haremos a traves de un label, pasandole como parámetro un ImageIcon:
ImageIcon icon = new ImageIcon("pig.png");
JLabel labelIcon = new JLabel(icon);
contenedor.add(labelIcon, gridConstraints);
NOTA: La ruta de la imagen es en relación al working directory de la aplicación, lo cual NO es recomendable, ya que el working directory variará segun ejecutemos el programa desde un sitio u otro.
Para hacer que la ruta sea relativa a la localización de la clase que estamos ejecutando lo haríamos de la siguiente manera:
ImageIcon icon = new ImageIcon(getClass().getResource("pig.png"));
El código completo es el siguiente:
import java.awt.*;
import javax.swing.*;
public class Icon extends JFrame {
public Icon() {
Container contenedor = getContentPane();
contenedor.setLayout(new GridBagLayout());
GridBagConstraints gridConstraints = new GridBagConstraints();
gridConstraints.gridx = 0;
gridConstraints.gridy = 0;
gridConstraints.weightx = 1.0;
gridConstraints.weighty = 1.0;
gridConstraints.fill = gridConstraints.HORIZONTAL;
gridConstraints.insets = new Insets(10, 10, 10, 10);
ImageIcon icon = new ImageIcon(getClass().getResource("pig.png"));
JLabel labelIcon = new JLabel(icon);
contenedor.add(labelIcon, gridConstraints);
pack();
setVisible(true);
setResizable(true);
setSize(300, 200);
setTitle("Icon example");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Icon();
}
}
Java | Swing | ImageIcon