给JList设置CellRenderer:class MyListCellRenderer extends JLabel implements ListCellRenderer {
public Component getListCellRendererComponent( JList list,
Object value,int index,
boolean isSelected,boolean cellHasFocus ) {
setIcon( images[index] );//images数组存放Icon对象,如ImageIcon
setText( value.toString() );
setOpaque( true );
return this;
}
}
然后使用:
list.setCellRenderer( new MyListCellRenderer() );
public Component getListCellRendererComponent( JList list,
Object value,int index,
boolean isSelected,boolean cellHasFocus ) {
setIcon( images[index] );//images数组存放Icon对象,如ImageIcon
setText( value.toString() );
setOpaque( true );
return this;
}
}
然后使用:
list.setCellRenderer( new MyListCellRenderer() );
解决方案 »
- 一道基础的JAVA题,请帮忙分析下为什么答案是这样的
- Java中如何使用下面正则表达式
- 有没有办法分别读取一个文件夹里的全部文件
- 帮我解释下该代码!
- 关于super的使用
- terry_yip来接分
- JTable 小计 合计行
- 如何保存图片到指定文件夹
- 请问关于Toolkit.getDefaultToolkit().getScreenSize()的问题
- 我的VM是不是坏了,我写的一个简单的java程序运行居然报错Exception in thread "main" java.lang.NoClassDefFoundError: WelcomeApp
- 怎么把光标定位在某个空的文本框JTextField上?
- 如何得到当前日期在当前月份中处于第几个星期 一月大概有四个到五个星期
{ ImageIcon myIcon[];
public myListCellRenderer() {
myIcon = new ImageIcon[6];
myIcon[0] = new ImageIcon(myListCellRenderer.class.getResource("a.png"));
myIcon[1] = new ImageIcon(myListCellRenderer.class.getResource("b.png"));
myIcon[2] = new ImageIcon(myListCellRenderer.class.getResource("c.png"));
myIcon[3] = new ImageIcon(myListCellRenderer.class.getResource("d.png"));
}
public Component getListCellRendererComponent( JList list,
Object value,int index,
boolean isSelected,boolean cellHasFocus ) {
super.getListCellRendererComponent(list,value,index,isSelected,cellHasFocus);
setIcon( myIcon[index]);//images数组存放Icon对象,如ImageIcon
setText( value.toString() );
setOpaque( true ); return this;
}
}
在用到myListCellRenderer的类中,
myListCellRenderer mycell=new myListCellRenderer();
list.setCellRenderer(mycell);
Vector v=new Vector(1,1);
JList list=new JList();for (int i=0;i<5;i++){v.addElement("str"+i); //此处为你需要的字符串
}
Vector v=new Vector(1,1);
JList list=new JList();
myListCellRenderer mycell=new myListCellRenderer();
list.setCellRenderer(mycell);
for (int i=0;i<5;i++){
v.addElement("str"+i); //此处为你需要的字符串
}
雪莉姐姐:setIcon( myIcon[index]);//images数组存放Icon对象,如ImageIcon我再写程序的时候,index 到底是写什么啊是不是可以写 setIcon(myIcon); ?还有,我的程序中写错了,应该是 list.setListData(v);
在你的程序中,也是这样用吗?