我有一个JPanel
我想向其中添加即时生成的 JPEG 和 PNG 图像。
到目前为止我在 Swing Tutorials 中看到的所有示例,特别是在Swing examples使用ImageIcon
。
我将这些图像生成为字节数组,并且通常比示例中使用的常见图标(640x480)大。
- 使用
ImageIcon
类在JPanel
中显示该尺寸的图像是否存在任何(性能或其他)问题? - “通常”的做法是什么?
- 如何在不使用
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/