Java如何将图像添加到JPanel?

我有一个JPanel,我想向其中添加即时生成的JPEG和PNG图像。

到目前为止,我在Swing教程中看到的所有示例,特别是在Swing示例中,都使用ImageIcon。

我将这些图像生成为字节数组,它们通常比示例中使用的通用图标大,尺寸为640x480。

  1. 使用ImageIcon类在JPanel中显示该大小的图像时是否存在任何(性能或其他)问题?
  2. 什么是平常做的呢?
  3. 如何不使用ImageIcon类将图像添加到JPanel?

编辑:对教程和API的更仔细的检查表明,你不能将ImageIcon直接添加到JPanel。而是通过将图像设置为JLabel的图标来达到相同的效果。只是感觉不对…

回答:

这是我的操作方法(有关如何加载图像的更多信息):

import java.awt.Graphics;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.imageio.ImageIO;

import javax.swing.JPanel;

public class ImagePanel extends JPanel{

private BufferedImage image;

public ImagePanel() {

try {

image = ImageIO.read(new File("image name and path"));

} catch (IOException ex) {

// handle exception...

}

}

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

g.drawImage(image, 0, 0, this); // see javadoc for more info on the parameters

}

}

以上是 Java如何将图像添加到JPanel? 的全部内容, 来源链接: utcz.com/qa/433549.html

回到顶部