2010-01-29 4 views
0

Java Swing에는 각 행에 요소 이름과 확인란이 포함 된 간단한 테이블이 있습니다. 사용자는 연관된 체크 박스를 클릭하여 포함 된 요소를 선택할 수 있습니다. 테이블 아래에 선택된 요소의 수를 지속적으로 추적하는 문자열을 원합니다 (예 : "3 개의 요소가 선택됨"). 따라서 사용이 요소를 검사하거나 검사를 취소하면 문자열이 자동으로 변경됩니다. 가능한가? 모든 확인란에 이벤트 수신기를 연결해야합니까?문자열의 선택된 항목 수를 추적하는 라이브

+0

@Vijay - 이것은 JTable입니까? – McDowell

답변

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); 
관련 문제