如何将图像添加到JPanel?

我有一个JPanel我想在其中添加动态生成的JPEG和PNG图像

到目前为止,我在Swing教程,特别是摆动示例使用ImageIcons

我将这些图像生成为字节数组,它们通常比示例中使用的常用图标(640×480)大

  1. 使用ImageIcon类在JPanel中显示大小相同的图像是否存在任何(性能或其他)问题
  2. 通常的做法是什么
  3. 如何在不使用ImageIcon类的情况下将图像添加到JPanel

编辑:对教程和API进行更仔细的检查后发现,您无法将图像图标直接添加到JPanel。相反,它们通过将图像设置为JLabel的图标来实现相同的效果。这感觉不对

如果您使用的是JPanel,那么您可能正在使用Swing。试试这个:

BufferedImage myPicture=ImageIO.read(新文件(“文件路径”));
JLabel picLabel=新JLabel(新图像图标(myPicture));
添加(picLabel);

该图像现在是一个swing组件。与任何其他组件一样,它也会受到布局条件的影响

发表评论