Mostrar una imagen en Java

Rupam Yadav 12 octubre 2023
  1. Mostrar una imagen en Java usando JLabel.setIcon()
  2. Mostrar una imagen en Java usando la biblioteca ImageJ
Mostrar una imagen en Java

Podemos mostrar una imagen de varias formas en Java. A continuación, veremos cómo mostrar una imagen en Java utilizando dos métodos.

Mostrar una imagen en Java usando JLabel.setIcon()

En el primer ejemplo, usamos la clase JLabel de la biblioteca Swing. JLabel extiende JComponent, y podemos adjuntar este componente a un JFrame. Para leer el archivo de imagen, usamos la clase File y pasamos la ruta de la imagen. A continuación, convertimos la imagen en un objeto BufferedImage usando ImageIO.read(). Ahora creamos un icono para que se muestre en el JLabel.

Para mostrar el icono de la etiqueta, necesitamos un objeto JFrame con un FlowLayout y un tamaño de 500 x 500. El tamaño se puede ajustar según nuestras necesidades. Ahora creamos un objeto JLabel y establecemos su icono usando la función JLabel.setIcon(). Luego agregamos el componente jLabel a jFrame y establecemos la visibilidad del marco como verdadera.

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;

public class DisplayImage {
  public static void main(String[] args) throws IOException {
    File file = new File("C:\\Users\\User1\\Pictures\\Camera Roll\\java.png");
    BufferedImage bufferedImage = ImageIO.read(file);

    ImageIcon imageIcon = new ImageIcon(bufferedImage);
    JFrame jFrame = new JFrame();

    jFrame.setLayout(new FlowLayout());

    jFrame.setSize(500, 500);
    JLabel jLabel = new JLabel();

    jLabel.setIcon(imageIcon);
    jFrame.add(jLabel);
    jFrame.setVisible(true);

    jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Producción:

mostrar una imagen en java

Mostrar una imagen en Java usando la biblioteca ImageJ

En este programa, utilizamos una potente biblioteca de procesamiento de imágenes llamada ImageJ. Para usarlo, primero importamos el repositorio maven y la dependencia en pom.xml.

<repositories>
    <repository>
        <id>scijava.public</id>
        <url>https://maven.scijava.org/content/groups/public</url>
    </repository>
</repositories>
<dependency>
    <groupId>net.imagej</groupId>
    <artifactId>ij</artifactId>
    <version>1.53j</version>
</dependency>

Nuestro objetivo es mostrar una imagen, y ImageJ nos lo simplifica. A continuación se muestra el código donde primero llamamos a una función estática openImage() de la clase IJ y pasamos la ruta de la imagen como argumento. Observe que escribimos solo el nombre de la imagen con sus extensiones porque nuestra imagen está en el mismo directorio.

IJ.openImage() devuelve un objeto ImagePlus. Ahora llamamos al método show() usando el objeto imagePlus. Podemos ver que la salida muestra una imagen en un marco.

import ij.IJ;
import ij.ImagePlus;

public class DisplayImage {
  public static void main(String[] args) {
    ImagePlus imagePlus = IJ.openImage("mountains.jpeg");
    imagePlus.show();
  }
}

Producción:

mostrar una imagen en java

Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java JLabel

Artículo relacionado - Java Swing