for(int i=0;i<choices.length;i++)
{ items[i]=new ImageIcon(".\\images\\"+names[i]+".gif");
choices[i]=new JButton(items[i]);
}
".\\images\\"存放图象图标的路径
choices[]是按钮数组,用来存储带名称的按钮(name[]),
利用上面的方法把图象图标导入按钮里,编译运行都没问题,可把代码打包成jar后就发现一个问题,就是图象图标的显示必须依赖于路径".\\images\\",即是如果把其删除,或把jar文件移植到别处,图象图标就不能显示了。
请问大家有没有解决的方法?
------解决方案--------------------
在Jar包中的图片不能按你这种方法读, 试试下面的:
for(int i=0;i <choices.length;i++)
{ items[i]=new ImageIcon(this.getClassLoader().getResource(".\\images\\"+names[i]+".gif"));
choices[i]=new JButton(items[i]);
}