在我的JFrame中,我有默认的咖啡图标。我想要将其删除。但是,当我执行setIconImage(null)时,它没有起作用。有人能告诉我如何完全删除图标的解决方案吗?
始终保留Java源代码的副本是一个好习惯。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);
创建一个由一个像素组成的图标(最好是透明的),并将其使用。如果您需要这样的图标,请联系我,我会发送给您。
您可以将图像图标设置为透明图像,以去除咖啡杯。否则,我认为无法消除默认图标。
你可以使用GIMP、Photoshop或者Paint等软件创建一个1x1像素的透明图像,导出为.png或.jpg格式均可。然后应用它:
ImageIcon frameIcon = new ImageIcon("files\yourfile.png");
frame.setIconImage(frameIcon.getImage());
myFrame.setIconImage(new ImageIcon(icon));
- dargmuesli