想要定義JList的形式的要通過(guò)實(shí)現(xiàn)接口ListCellRenderer來(lái)設(shè)置,使用方法如下:
首先,定義一個(gè)類實(shí)現(xiàn)接口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 * 構(gòu)造函數(shù)
14 */
15 public CheckBoxItem() {
16 jcb = new JCheckBox();
17 }
18
19 /**
20 * 實(shí)現(xiàn)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 }
在這里,將其選項(xiàng)定義為JCheckBox形式。
然后,在需要使用此形式的地方使用setCellRenderer()方法設(shè)置,如下:
1 JList jl = new JList();
2 jl.setCellRenderer(new CheckBoxItem());
這樣就可以了。
當(dāng)然,通過(guò)ListCellRenderer可以設(shè)置更多的JList相關(guān)屬性,詳細(xì)參閱Java Doc
posted on 2008-07-25 15:33
Lonsy 閱讀(1229)
評(píng)論(4) 編輯 收藏 所屬分類:
Analysis