Java - JFrame不显示ImageIcon

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java - JFrame不显示ImageIcon相关的知识,希望对你有一定的参考价值。

public Vue(String title) {
    super(title);



    this.addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    });

    this.getContentPane().setLayout(new GridLayout(4, 1));
    JPanel p1 = createPanel1();
    this.getContentPane().add(p1);
    JPanel p2bis = createPanel2bis();
    this.getContentPane().add(p2bis);
    JPanel p3 = createPanel3();
    this.getContentPane().add(p3);




    this.setJMenuBar(createMenuBar());

    this.setPreferredSize(new Dimension(750,400));
    this.pack();
    this.setVisible(true);


    ImageIcon image = new ImageIcon(getClass().getResource("voile.png"));
    this.setIconImage(image.getImage());
    System.out.println(image.getDescription());

}

嗨,

我花时间找到解决方案,将我的图像显示为JFrame图标图像......并尝试了很多类似的东西

ImageIcon image = new ImageIcon(Constants.LOGO_ABSOLUTE_PATH);
this.setIconImage(image.getImage());
System.out.println(image.getDescription());

我把“voile.png”文件放在我的目录中的任何地方:root,src,bin和bin和src包。我还尝试了在线徽标及其URI。

但是,它实际上不起作用。如果有人可以帮助我?

我在Eclipse Oxygen和Windows 10上运行它

PS:System.out.println(image.getDescription());总是显示我的图像所在的路径(无论如何我把它放在任何地方)

答案

ImageIcon不支持PNG透明度。我不得不创建一个空白的jpg图像并将徽标放入其中。我的最终代码是

ImageIcon image = new ImageIcon(Constants.LOGO);
this.setIconImage(image.getImage());

以上是关于Java - JFrame不显示ImageIcon的主要内容,如果未能解决你的问题,请参考以下文章

ImageIcon 不可见

在 JFrame 中使用按钮数组

java中如何为JFrame设置背景图片,拜托给一个简单的实例。谢谢了。

图像未显示在 jPanel 中

Java-如何在JFrame上绘制一条线

Eclipse中jframe怎么用属性设背景图片