请问能在JComboBox里添加图片吗?如果能请给写下
解决方案 »
- struts2 和ajax 结合,实现登录验证的问题!
- 急问:java数据库操作的问题
- 小程序中播放音频的问题
- 如何调用ECLPSE中的插件
- 哪里查找com.borland.dx.sql.dataset中的所有方法
- jni的奇怪问题!
- 我看的书上的例子,为什么comp2D.drawString(.......什么也不显示,我到命令行,java ...由提示没有main() ?
- 伟大的中华人民共和国万岁!国庆假期万岁!
- 请问学JBuilder6有什么书可看吗??????????
- 大家看看这两道关于Garbage collecter的题目,真是怪怪的
- java写文本文件的问题!
- 新手请教:JAVA编程思想中的一个匿名类的例子,调试出错。谢谢。
JComboBox的addItem(Object obj)方法
其中Obj可以是任何形式的对象,你可以把ImageIcon对象加到列表里
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;
}
}