java - 如何将图像添加到 JPanel?

标签 java image swing jpanel

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

到目前为止我在 Swing Tutorials 中看到的所有示例, 特别是在 Swing examples使用 ImageIcons.

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

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

编辑:对教程和 API 的更仔细检查表明您不能将 ImageIcon 直接添加到 JPanel。相反,它们通过将图像设置为 JLabel 的图标来实现相同的效果。这感觉不对劲……

最佳答案

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

BufferedImage myPicture = ImageIO.read(new File("path-to-file"));
JLabel picLabel = new JLabel(new ImageIcon(myPicture));
add(picLabel);

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

关于java - 如何将图像添加到 JPanel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/299495/

相关文章:

java - 在 java :comp/env? 中设置属性

在React Native中预加载图像

java - 在 jfilechooser 中包含图像缩略图

java - 将 SQLite 数据库从一个版本升级到另一个版本?

java - 如何使用 iText 7 在 PDF 文件中添加复选框?

image - 网页渲染捕获

ios - meteor 应用程序 : Difference Between Uploading Images from Iphone than Computer?

Java if 语句不会运行 - 测试 substr(0,1) 是否 == 00

java - 删除 Swing 内容 Pane /面板并显示新面板

java - Scala 作为新的 Java?