【发布时间】:2011-07-29 05:17:13
【问题描述】:
在我的 JFrame 中,我有默认的咖啡图标。我想删除它。但是当我做 setIconImage(null) 它不起作用。谁能告诉我如何完全删除图标的解决方案
【问题讨论】:
在我的 JFrame 中,我有默认的咖啡图标。我想删除它。但是当我做 setIconImage(null) 它不起作用。谁能告诉我如何完全删除图标的解决方案
【问题讨论】:
保留一份Java source code 的副本总是好的。 java.awt.Window(JFrame 的超类)的代码有以下setIconImage 的代码:
public void setIconImage(Image image)
{
ArrayList<Image> imageList = new ArrayList<Image>();
if (image != null)
{
imageList.add(image);
}
setIconImages(imageList);
}
您可以看到传入一个空图像与什么都不做是一样的,因此您必须传入一个图像才能摆脱咖啡杯。正如其他人所建议的那样,使用 1 x 1 透明图标是您最好的选择。下面是一些创建图标的代码:
Image icon = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB_PRE);
myFrame.setIconImage(icon);
【讨论】:
myFrame.setIconImage(new ImageIcon(icon));
创建由一个像素组成的图标(更好的透明)并使用它。如果您需要这样的图标,请联系我。我发给你。
【讨论】:
您可以将图像图标设置为将移除咖啡杯的透明图像。我不相信有可能以其他方式摆脱默认图标。
【讨论】:
您可以只使用 gimp 或 photoshop 甚至绘画并创建一个 1x1 像素的透明图像,然后将其导出(.png 或 .jpg,没关系?)。 然后应用它:
ImageIcon frameIcon = new ImageIcon("files\yourfile.png");
frame.setIconImage(frameIcon.getImage());
应该没问题。
【讨论】: