Exibir uma imagem em Java
-
Exibir uma imagem em Java usando
JLabel.setIcon()
-
Exibir uma imagem em Java usando a biblioteca
ImageJ
Podemos mostrar uma imagem usando várias maneiras em Java. A seguir, veremos como exibir uma imagem em Java usando dois métodos.
Exibir uma imagem em Java usando JLabel.setIcon()
No primeiro exemplo, usamos a classe JLabel
da biblioteca Swing. JLabel
estende JComponent
, e podemos anexar este componente a um JFrame
. Para ler o arquivo de imagem, usamos a classe File
e passamos o caminho da imagem. Em seguida, convertemos a imagem em um objeto BufferedImage
usando ImageIO.read()
. Agora criamos um ícone para ser mostrado no JLabel
.
Para mostrar o ícone do rótulo, precisamos de um objeto JFrame
com um FlowLayout
e um tamanho de 500 x 500. O tamanho pode ser ajustado de acordo com nossas necessidades. Agora criamos um objeto JLabel
e definimos seu ícone usando a função JLabel.setIcon()
. Em seguida, adicionamos o componente jLabel
ao jFrame
e definimos a visibilidade do quadro como verdadeira.
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);
}
}
Produção:
Exibir uma imagem em Java usando a biblioteca ImageJ
Neste programa, usamos uma poderosa biblioteca de processamento de imagens chamada ImageJ
. Para usá-lo, primeiro importamos o repositório maven e a dependência em 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>
Nosso objetivo é mostrar uma imagem, e ImageJ
torna isso simples para nós. A seguir está o código onde primeiro chamamos uma função estática openImage()
da classe IJ
e passamos o caminho da imagem nela como um argumento. Observe que escrevemos apenas o nome da imagem com suas extensões porque nossa imagem está no mesmo diretório.
IJ.openImage()
retorna um objeto ImagePlus
. Agora chamamos o método show()
usando o objeto imagePlus
. Podemos ver que a saída mostra uma imagem em um quadro.
import ij.IJ;
import ij.ImagePlus;
public class DisplayImage {
public static void main(String[] args) {
ImagePlus imagePlus = IJ.openImage("mountains.jpeg");
imagePlus.show();
}
}
Produção:
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