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的主要内容,如果未能解决你的问题,请参考以下文章