我有一个JPanel,我想向其中添加即时生成的JPEG和PNG图像。
到目前为止,我在Swing教程中看到的所有示例,特别是在Swing示例中,都使用ImageIcon。
我将这些图像生成为字节数组,它们通常比示例中使用的通用图标大,尺寸为640x480。
编辑:对教程和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 } }