Java:ImageIcon 与图像差异
Posted
技术标签:
【中文标题】Java:ImageIcon 与图像差异【英文标题】:Java: ImageIcon vs. Image difference 【发布时间】:2012-06-27 02:15:14 【问题描述】:谁能以菜鸟的方式向我解释 Java 中 ImageIcon 和 Image 类/对象之间的区别是什么?谢谢
【问题讨论】:
这是作业吗?回答此问题所需的所有内容都应记录在 javadocs 中。 不,这不是家庭作业。对于这个问题,就像我关于 Java 的大多数其他问题一样,信息可以在 javadocs 中找到。但是,如果我能理解 javadocs 中的所有内容,我就不需要任何书籍、论坛、谷歌甚至互联网。 【参考方案1】:它们的性质和应用是不同的。 Image 是表示图形图像的所有类的抽象超类。 ImageIcon 是Icon
接口的实现,它使用Image
作为其源。
编辑:将Image
视为可以 呈现的东西,将ImageIcon
视为将 呈现为Icon
的东西,当它的@ 987654332@方法被调用。
编辑:上面的链接将带您到 JDK 6 api。这些链接会将您带到 JDK 8 api:Image 和 ImageIcon。
【讨论】:
好吧,ImageIcon
对象有一个底层的Image
对象,并提供了一个额外的层来处理这个图像?此外,Icon
可以通过多种方式实现,而不必具有底层图像(例如绘制标签或矩形)。还是我错了?我只是不完全理解,如果图标只是一个小图像,为什么要为此设置两个不同的类。
@LeNoob Icon
通常用于装饰组件(标签、按钮等),即它们被涂在某物上。另一方面,Image
不仅用于显示,还可以用于绘制。查看Images 教程中的一些示例。 How to Use Icons 也很有用。【参考方案2】:
您可以缩放和保存 Image,但不能使用 ImageIcon 来做到这一点。要在 GUI 中创建图片,您通常必须使用 ImageIcon,但如果您不想这样做,Image 应该会更好。
【讨论】:
但是如果ImageIcon
有底层图片,我怎么不能保存和缩放呢?以上是关于Java:ImageIcon 与图像差异的主要内容,如果未能解决你的问题,请参考以下文章
java程序,new ImageIcon(getClass().getResource("/images/密码登陆.jpg")),在导出jar后,jar包里面没有
我如何将javax.swing.ImageIcon绘制为JavaFX .fxml呈现的用户界面?