想要定義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 閱讀(1226)
評論(4) 編輯 收藏 所屬分類:
Analysis