public class Test extends Frame{
JComboBox comb=new JComboBox();
ImageIcon []im=new ImageIcon[30];
public Test()
{this.setLayout(null);
for(int i=1;i<=30;i++)
{
im[i-1]=new ImageIcon(System.getProperty("user.dir")+"/"+i+".gif");
comb.addItem(im[i-1]);
}
comb.setBounds(30,40,90,90);
this.pack();
this.add(comb);
setSize(300, 200);
}
public static void main(String [] args)
{
Test t=new Test();
t.show();
}
}
我错在哪?
如果JComboBox显示正常,而你的图片不可见,
那么看一下你的图片路径对不对,一般都是由这个问题引起的。
注意用到路径的时候,要使用转义符\
好象要用ListCellRenderer才能解决问题.把ImageIcon放在JLabel中加上.
好像不需要自定义renderer哦,JComboBox是可以加入图片的吧?
问题在于他直接把ImageIcon对象加入了JComboBox,这样下拉列表显示的内容将是ImageIcon.toString(),当然不会有图片出来,还是要用自定义renderer的。
没问题呀
上面都讲了吗!
用JComboBox的render是继承JLabel的,应该可以支持图标显示的。