我为学校项目创建了以下代码,一个“密码保护器”,只是为了好玩,真的。但是,我遇到的问题是图标图像没有出现,而是默认的java“咖啡杯”。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class UserInterfaceGUI extends JFrame
{
private static final long serialVersionUID = 1;
private JLabel userNameInfo; // ... more unimportant vars.
public UserInterfaceGUI()
{
this.setLayout(new FlowLayout());
userNameInfo = new JLabel("Enter Username:"); // ... more unimportant var. declartions
this.add(userNameInfo); // ... more unimportant ".add"s
event e = new event();
submit.addActionListener(e);
}
public static void main(String[] args)
{
//This icon has a problem \/
ImageIcon img = new ImageIcon("[File Location hidden for privacy]/icon.ico");
UserInterfaceGUI gui = new UserInterfaceGUI();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setSize(400, 140);
gui.setIconImage(img.getImage());
gui.setTitle("Password Protector");
gui.setVisible(true);
}
}
有人可以告诉我为什么这只会在屏幕底部和窗口顶部的栏上显示java咖啡杯吗?
答案 0 :(得分:3)
这里有两个可能的问题:
ImageIO.getReaderFileSuffixes()
(但严重的是,对于有保证支持的3种类型的应用程序图标)。