0
在Java Swing中,我有一個簡單的表格,其中每行都包含元素名稱和複選框。用戶可以通過單擊相關複選框來選擇任何包含的元素。我希望在表格下面有一個字符串,可以不斷跟蹤所選元素的數量(例如「已選擇3個元素」)。因此,儘快使用檢查或取消檢查元素,字符串會自動更改。可能嗎?我是否需要將事件偵聽器關聯到每個複選框?實時跟蹤字符串中選定項目的數量
在Java Swing中,我有一個簡單的表格,其中每行都包含元素名稱和複選框。用戶可以通過單擊相關複選框來選擇任何包含的元素。我希望在表格下面有一個字符串,可以不斷跟蹤所選元素的數量(例如「已選擇3個元素」)。因此,儘快使用檢查或取消檢查元素,字符串會自動更改。可能嗎?我是否需要將事件偵聽器關聯到每個複選框?實時跟蹤字符串中選定項目的數量
是的,這是可能的。但是,您也可以將單個偵聽器與所有複選框相關聯。
JCheckbox check1 = new JCheckbox("First");
JCheckbox check2 = new JCheckbox("Second");
int numSelected = 0;
JLabel label = new JLabel("0 items selected");
ItemListener itemListener = new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED)
numSelected++;
else
numSelected--;
label.setText( numSelected +
(numSelected == 1) " item" ? " items" + " selected");
// might not have to explicitly re-call label.setText(..)
}
}
check1.addItemListener(itemListener);
check2.addItemListener(itemListener);
@Vijay - 這是一個JTable? – McDowell 2010-01-29 17:34:25