请教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;}} 反序列化时遇到异常 finally block does not complete normally 在java swing中表和树怎么连接? 新手问个简单的图形界面程序 一个显示年月日的javascript问题 使用HIBERNATE时出现异常提示no dialect mapping for JDBC type:3,请问高手如何解决? 谁可以给我介绍一本java与windows API的书?谢谢 请教一个关于TOMCAT在LINUX下的连接池的问题解决了肯定给分!! java 泛型 类型擦除问题 pg 查询 去重 关于按钮图标的问题,请高手指点! 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;
}
}