📅  最后修改于: 2023-12-03 15:31:32.586000             🧑  作者: Mango
在Java Swing中,我们可以很方便地加载并显示图像。下面是几个例子,展示如何使用Swing显示图像。
import javax.swing.*;
import java.awt.*;
public class DisplayLocalImage extends JPanel {
private Image image;
public DisplayLocalImage() {
loadImage();
}
private void loadImage() {
// 读取本地图像文件
ImageIcon icon = new ImageIcon("path/to/image.jpg");
image = icon.getImage();
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
// 在JPanel中显示图像
g.drawImage(image, 0, 0, this);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Display Local Image");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new DisplayLocalImage());
frame.pack();
frame.setVisible(true);
}
}
import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import java.net.URL;
public class DisplayNetworkImage extends JPanel {
private Image image;
public DisplayNetworkImage() {
loadImage();
}
private void loadImage() {
try {
// 从URL读取图像
URL imageURL = new URL("http://example.com/image.jpg");
image = ImageIO.read(imageURL);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
// 在JPanel中显示图像
g.drawImage(image, 0, 0, this);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Display Network Image");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new DisplayNetworkImage());
frame.pack();
frame.setVisible(true);
}
}
import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import java.net.URL;
import java.util.Base64;
public class DisplayByteArrayImage extends JPanel {
private Image image;
public DisplayByteArrayImage() {
loadImage();
}
private void loadImage() {
try {
// 解码byte数组
String base64Image = "base64EncodedImageString";
byte[] imageBytes = Base64.getDecoder().decode(base64Image);
// 将byte数组转化为Image对象
image = Toolkit.getDefaultToolkit().createImage(imageBytes);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
// 在JPanel中显示图像
g.drawImage(image, 0, 0, this);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Display Byte Array Image");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new DisplayByteArrayImage());
frame.pack();
frame.setVisible(true);
}
}
以上是几个使用Swing显示图像的例子。Swing提供了很多方便的方法来加载和处理图像,让我们可以很轻松地将图像展示在我们的应用程序中。