日期:2014-05-20  浏览次数:20662 次

关于图象图标的显示问题
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]);
}