想要定义JList的形式的要通过实现接口ListCellRenderer来设置,使用方法如下:
首先,定义一个类实现接口ListCellRenderer的方法
getListCellRendererComponent(JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus)
例子:
1 /**
2 * 用于处理JList的形式
3 * @author Lonsy
4 */
5 public class CheckBoxItem implements ListCellRenderer
6 {
7 /**
8 * 定义其形式为CheckBox
9 */
10 private JCheckBox jcb;
11
12 /**
13 * 构造函数
14 */
15 public CheckBoxItem() {
16 jcb = new JCheckBox();
17 }
18
19 /**
20 * 实现ListCellRenderer的getListCellRendererComponent接口
21 */
22 public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
23 jcb.setBackground(Color.white);
24 jcb.setText(value.toString());
25 jcb.setSelected(isSelected);
26 return jcb;
27 }
28 }
在这里,将其选项定义为JCheckBox形式。
然后,在需要使用此形式的地方使用setCellRenderer()方法设置,如下:
1 JList jl = new JList();
2 jl.setCellRenderer(new CheckBoxItem());
这样就可以了。
当然,通过ListCellRenderer可以设置更多的JList相关属性,详细参阅Java Doc
posted on 2008-07-25 15:33
Lonsy 阅读(1215)
评论(4) 编辑 收藏 所属分类:
Analysis