【发布时间】:2020-05-06 08:41:11
【问题描述】:
我正在尝试使用 IconImage 对象更改 jframe 的图标图像,但我意识到我需要使用 Image 对象来执行此操作,但是 Image 对象是一个抽象类,并且我拥有它们的子类发现使用起来非常混乱,有人可以告诉我如何在 JFrame 中更改我的图像图标吗?
【问题讨论】:
标签: java image swing jframe icons
我正在尝试使用 IconImage 对象更改 jframe 的图标图像,但我意识到我需要使用 Image 对象来执行此操作,但是 Image 对象是一个抽象类,并且我拥有它们的子类发现使用起来非常混乱,有人可以告诉我如何在 JFrame 中更改我的图像图标吗?
【问题讨论】:
标签: java image swing jframe icons
使用此代码更改图标:
myFrame = new JFrame("Test");
myFrame.setIconImage(new ImageIcon(url).getImage());
【讨论】:
new ImageIcon(url).getImage() 这是脆弱的代码。最好使用ImageIO 直接读取图像来替换它。如果找不到图像,ImageIO 方法将抛出有用的异常。实际上考虑一下,url 意味着URL。使用无效路径调用getResource 将导致null URL,并且(AFAIR)尝试使用null 参数建立ImageIcon 将导致NullPointerException。我的评论是针对那些使用String 构造函数作为图像图标的人。这将(定期和)静默失败。