我想更改项目的图标而不是java图标。当程序图标显示在状态栏中时,它应该显示自定义图标而不是默认的java图标。
我正在使用以下代码。请告诉我这段代码有什么问题。
class newframe extends JFrame
{
Container cp;
newframe()
{
cp=this.getContentPane();
cp.setLayout(null);
}
public static void main(String args[])
{
newframe frm= new newframe();
frm.setbounds(0,0,1000,800);
frm.setVisible(true);
ImageIcon im1= new ImageIcon("path upto image");
frm.setIconImage(im1.getImage());
}
}
答案 0 :(得分:5)
..new ImageIcon("path upto image");
框架图标通常是嵌入式资源,因此必须由URL
访问,而不是String
代表File
的路径。
答案 1 :(得分:2)
有一些事情会阻止它编译。第一:
frm.setbounds(0,0,1000,800);
你的“setbounds”应该有一个大写B.通常,函数将被装入,使得第一个单词的第一个字母是小写的,后面的单词是大写的。请参阅此链接以获取有关setBounds的文档:setBounds
您的ImageIcon路径中存在第二个问题。很难说,如果你的代码是正确的,或者你为了这个例子而删除了路径,但是Andrew Thompson已经充分解决了这个问题。
答案 2 :(得分:0)
我认为问题在于图像的消失。你应该做的不是直接路径,而是做这样的事情:
ImageIcon im1= new ImageIcon("Toolkit.getDefaultToolkit().
getImage(getClass().getResource("path upto image"))");
我使用我的所有应用程序执行此操作,并且每次都有效。