java - 如何向 JPanel 添加图像?

标签 java image swing jpanel

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

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

我将这些图像生成为字节数组,并且通常比示例中使用的常见图标(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/57395256/

相关文章:

java - 缺少库或代码不正确? Android Studio,APK 崩溃

css - html 电子邮件中的时髦宽度百分比和移动 View

java - 如何修复 GridBagLayout 中的间隙

java - 谁能解释为什么这段代码只在构造函数中起作用?

java - Google App Engine 简单应用程序已创建并在本地运行。但我无法部署到 App Engine

java - 需要一些关于二维字符串数组的解释

c++ - 一个简单的 PNG 包装器。有人可以分享一个片段吗?

ios - 如何将.cpbitmap转换为可读图像(png,jpg,jpeg…)

java - Swing 模糊拖动图像

java - 为什么我制作的 Basic Java Hex Editor 会卡住大约 2MB 大小或更大的文件?