【发布时间】:2011-08-25 12:57:36
【问题描述】:
我有一个 JFrame,我想在单击加载图像按钮时将图像加载到它。单击下一步按钮后,我想更改图像。将图像加载到变量是没有问题的。我将其加载到Image img。我只是想展示一下。这意味着我想将它加载到 JLable 或 JPanel。我怎样才能做到这一点。请帮帮我。
【问题讨论】:
标签: java swing icons jframe imageicon
我有一个 JFrame,我想在单击加载图像按钮时将图像加载到它。单击下一步按钮后,我想更改图像。将图像加载到变量是没有问题的。我将其加载到Image img。我只是想展示一下。这意味着我想将它加载到 JLable 或 JPanel。我怎样才能做到这一点。请帮帮我。
【问题讨论】:
标签: java swing icons jframe imageicon
让我们使用ImageIcon & JLabel.setIcon(...)
【讨论】:
Image 只是一个图像......它是图形数据。您如何获得它或数据是否从 jpeg、png、bmp 或任何格式解码无关紧要。
JLabel 支持Icon/ImageIcons。这意味着您可以创建一个简单的 JLabel,将 ImageIcon 传递给它,然后让它显示。这应该可以满足您的需求。
JLabel label = new JLabel(new ImageIcon(image));
【讨论】:
创建一个自定义组件并覆盖paint(Graphics g) 方法。使用给定的Graphics 对象绘制图像。如果您需要一些更高级的选项,可以先转换为 Graphics2D。查看Graphics(2D)定义的方法,你很快就会找到你需要的。
JPanel 的子类可以很好地工作。最佳选择实际上取决于您如何管理 JFrame 的内容。
【讨论】: