请教JComboBox的内容为 Icon + String 应该怎么做? 请教JComboBox的内容为 Icon + String 应该怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Vector installDatas = new Vector();installDatas.add(new InstallData("a", new ImageIcon("a.png")));comboBox.setModel(new DefaultComboBoxModel(installDatas));comboBox.setRenderer(new ComboBoxCellRenderer());引用如下类public class ComboBoxCellRendererextends JLabelimplements ListCellRenderer{public ComboBoxCellRenderer(){setOpaque(true);}public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus){InstallData installData = (InstallData) value;setText(installData.getName());setIcon(installData.getIcon());setFont(list.getFont());setBackground(isSelected ? list.getSelectionBackground() : list.getBackground());setForeground(isSelected ? list.getSelectionForeground() : list.getForeground());return this;}}public class InstallData{private String name;private Icon icon;private Object object;private boolean selected;public InstallData(String name, boolean selected){this.name = name;this.selected = selected;}public InstallData(String name, Icon icon){this.name = name;this.icon = icon;}public InstallData(String name, Icon icon, boolean selected){this.name = name;this.icon = icon;this.selected = selected;}public InstallData(String name, Icon icon, Object object){this.name = name;this.icon = icon;this.object = object;}public InstallData(String name, Icon icon, Object object, boolean selected){this.name = name;this.icon = icon;this.object = object;this.selected = selected;}public InstallData(Icon icon){this.icon = icon;}public String getName(){return name;}public Icon getIcon(){return icon;}public Object getObject(){return object;}public boolean isSelected(){return selected;}public void setSelected(boolean selected){this.selected = selected;}} jar 包的问题 netBeans应用程序 如何创建多文档视图 mysql插入图片文件问题 接口、继承;什么时候使用接口?什么时候使用继承?为什么要使用接口?为什么要使用继承? 关于java scoket 同时收与发的问题! 急!!!怎样显示消息框及改变消息框字体的大小? 400分求教JAVA皮肤的问题 怎样把自己的按钮加入ie的工具栏中? 我想学习java ,各位有什么好的书,或者建议? java 点击按钮之后键盘事件无效 关于按钮图标的问题,请高手指点! JTable 单元格不能响应键盘输入
installDatas.add(new InstallData("a", new ImageIcon("a.png")));
comboBox.setModel(new DefaultComboBoxModel(installDatas));
comboBox.setRenderer(new ComboBoxCellRenderer());
引用如下类
public class ComboBoxCellRenderer
extends JLabel
implements ListCellRenderer
{
public ComboBoxCellRenderer()
{
setOpaque(true);
}public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
{
InstallData installData = (InstallData) value;
setText(installData.getName());
setIcon(installData.getIcon());
setFont(list.getFont());
setBackground(isSelected ? list.getSelectionBackground() : list.getBackground());
setForeground(isSelected ? list.getSelectionForeground() : list.getForeground());
return this;
}
}public class InstallData
{private String name;
private Icon icon;
private Object object;
private boolean selected;public InstallData(String name, boolean selected)
{
this.name = name;
this.selected = selected;
}public InstallData(String name, Icon icon)
{
this.name = name;
this.icon = icon;
}public InstallData(String name, Icon icon, boolean selected)
{
this.name = name;
this.icon = icon;
this.selected = selected;
}public InstallData(String name, Icon icon, Object object)
{
this.name = name;
this.icon = icon;
this.object = object;
}public InstallData(String name, Icon icon, Object object, boolean selected)
{
this.name = name;
this.icon = icon;
this.object = object;
this.selected = selected;
}public InstallData(Icon icon)
{
this.icon = icon;
}public String getName()
{
return name;
}public Icon getIcon()
{
return icon;
}public Object getObject()
{
return object;
}public boolean isSelected()
{
return selected;
}public void setSelected(boolean selected)
{
this.selected = selected;
}
}