【问题标题】:Remove default JFrame icon删除默认的 JFrame 图标
【发布时间】:2011-07-29 05:17:13
【问题描述】:

在我的 JFrame 中,我有默认的咖啡图标。我想删除它。但是当我做 setIconImage(null) 它不起作用。谁能告诉我如何完全删除图标的解决方案

【问题讨论】:

    标签: java swing icons jframe


    【解决方案1】:

    保留一份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));
    【解决方案2】:

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

    【讨论】:

    • 几行代码就可以生成一个透明的1px图标。
    【解决方案3】:

    您可以将图像图标设置为将移除咖啡杯的透明图像。我不相信有可能以其他方式摆脱默认图标。

    【讨论】:

      【解决方案4】:

      您可以只使用 gimp 或 photoshop 甚至绘画并创建一个 1x1 像素的透明图像,然后将其导出(.png 或 .jpg,没关系?)。 然后应用它:

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

      应该没问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-09
        相关资源
        最近更新 更多