0

我想更改项目的图标而不是 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());
    }
}
4

3 回答 3

5
..new ImageIcon("path upto image"); 

框架图标通常是嵌入式资源,因此必须由URL而不是(String代表路径的) a访问File

于 2012-10-15T08:57:22.217 回答
2

有几件事会阻止它编译。第一的:

frm.setbounds(0,0,1000,800);

你的“setbounds”应该有一个大写的B。通常,函数将被大小写,这样第一个单词的第一个字母是小写的,后面的单词是大写的。有关 setBounds 的文档,请参阅此链接:setBounds

您的 ImageIcon 路径中存在第二个问题。很难说这是否来自您的代码,或者您是否为了示例而删除了路径,但 Andrew Thompson 已经充分解决了这个问题。

于 2012-10-15T09:01:04.277 回答
0

我认为问题在于 imageicon 的声明。您应该做的不是获取直接路径,而是执行以下操作:

ImageIcon im1= new ImageIcon("Toolkit.getDefaultToolkit(). getImage(getClass().getResource("path upto image"))");
我对所有应用程序都这样做,并且每次都有效。

于 2013-08-13T11:05:47.057 回答