如何在JComboBox或JList中加入图象
小弟正在做一个聊天软件,想实现像qq那样的人头像,请问该怎么实现??
谢谢了
问题点数:0、回复次数:5Top
1 楼bluedream2003(蓝梦)回复于 2003-06-04 17:57:57 得分 0
帮帮忙!!!!Top
2 楼geyf(其实我也不会)回复于 2003-06-04 18:12:44 得分 0
比如往JList里加图片,这样就可以:
DefaultListModel dlm = (DefaultListModel)(jList1.getModel());
dlm.addElement(new ImageIcon("tt.gif"));
Top
3 楼yoyoxo(Above the Clouds)回复于 2003-06-04 18:22:34 得分 0
将列表的一条记录写一个类:
public class MyData {
private javax.swing.Icon icon;
private String name;
public MyData() {
}
public javax.swing.Icon getIcon() {
return icon;
}
public void setIcon(javax.swing.Icon icon) {
this.icon = icon;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
为列表写一个CellRenderer类:
public class MyListCellRenderer extends DefaultListCellRenderer {
public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus){
super.getListCellRendererComponent(list,value,index,isSelected,cellHasFocus);
if(value instanceof MyData){
MyData md=(MyData)value;
setText(md.getName());
setIcon(md.getIcon());
}
else{
setText("");
setIcon(null);
}
return this;
}
}
将该列表的CellRenderer设为MyListCellRendererTop
4 楼mymoto(忽忽)回复于 2003-06-04 21:39:14 得分 0
只用到单个属性的时候用geyf(我在学java)是很好的,简单高效,当需要返回多项参数的时候,可以用yoyoxo(czm) 的方法,当然,第2中如果写成一个静态工厂的方法更好。Top
5 楼bluedream2003(蓝梦)回复于 2003-06-05 00:51:45 得分 0
upTop




