繁体   English   中英

难以将自定义图标添加到JFrame

[英]Having difficulty add a custom icon to a JFrame

我一直在尝试更改框架中的图标。 我几乎尝试了一切:

  • 图标是16x16,这是正确的大小....不起作用

  • 我正在尝试PNG,GIF和JPG格式,但它们都不起作用。

  • 尝试了其他设置图标的方式....不起作用。

  • 我已经尝试过相对(本地路径),例如“ icon.gif”和绝对路径,例如“ c:\\ work \\ java \\ icon.gif” ...不起作用

这是我的代码,看看你是否能弄清楚,谢谢奥利

    import javax.swing.*;
    public class androidDriver 
    {

        public static void main(String[] args) throws IOException 
        {
            JFrame f = new JFrame("Android Data Viewer");
            f.setResizable(false);
            f.setSize(300,300);
            f.setLocationRelativeTo(null);
            f.setVisible(true);
            f.setIconImage(new ImageIcon("androidIcon2.gif").getImage());
        }
    }

如果将图像与类文件放在同一目录中,那么以下内容将为您工作:

        f.setIconImage(new ImageIcon(androidDriver.class.getResource("androidIcon2.gif")).getImage());

还建议使框架可见之前设置图标图像

        f.setIconImage(new ImageIcon(androidDriver.class.getResource("androidIcon2.gif")).getImage());
        f.setVisible(true);

在源文件夹旁边创建一个单独的文件夹,然后将图像放入其中,然后使用ImageIO像这样获取图像:

f.setIconImage(ImageIO.read(new File("res/androidIcon2.gif")));

另外,如果这样不起作用,请尝试将图片另存为.png而不是.gif。

我怀疑您可能实际上需要等待使用MediaTracker加载图像。 图像可能仍在框架setIconImage引用它的点处加载,因此它什么也不做。

您是否尝试过使用Toolkit.getDefaultToolkit()。getImage(“ androidIcon2.gif”)

还有两件事:

  1. 图片是否存在? 您发布的代码将静默失败。

  2. 格式正确吗? (尽管我认为Java可以处理)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM