删除默认的JFrame图标

时间:2011-07-29 05:17:14

标签: java swing icons jframe

在我的JFrame中,我有默认的咖啡图标。我想删除它。但是当我执行setIconImage(null)时它不起作用。任何人都可以告诉我如何完全删除图标的解决方案

4 个答案:

答案 0 :(得分:22)

保留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);

答案 1 :(得分:4)

创建由一个像素组成的图标(更好的透明度)并使用它。如果您需要这样的图标请与我联系。我会寄给你的。

答案 2 :(得分:1)

您可以将图像图标设置为透明图像,以取出咖啡杯。我不相信有可能摆脱默认图标。

答案 3 :(得分:0)

您可以使用gimp或photoshop甚至绘制并创建1x1px透明图像,将其导出(.png或.jpg,无所谓?)。 然后应用它:

ImageIcon frameIcon = new ImageIcon("files\yourfile.png");
frame.setIconImage(frameIcon.getImage());

应该没事。