Java Swing에서 DefaultTableModel
을 확장하는 테이블 모델 클래스를 사용하는 JTable
을 만들었습니다. 테이블의 한 행의 값이 부울 유형이므로이 값은 확인란으로 표시됩니다. 이 체크 박스 항목 리스너 클래스에 추가하려면 각 체크 상자를 초기화해야합니다. 그러나 이들이 테이블 모델에 의해 자동으로 생성되면 어떻게해야합니까?테이블 모델에 의해 생성 된 JCheckBoxes 초기화
0
A
답변
2
이러한 CheckBox는 기본 데이터를 변경하므로 TableModelListener
을 추가하고 해당 열의 tableChanged
이벤트에 반응하면 충분합니다.
jTable1.getModel().addTableModelListener(new TableModelListener() {
final int YOUR_BOOLEAN_COLUMN = 1;
public void tableChanged(TableModelEvent e) {
if(e.getColumn() == YOUR_BOOLEAN_COLUMN) {
// get value from model (not affected if user re-orders columns)
TableModel tableModel = jTable1.getModel();
Boolean value =
(Boolean)tableModel.getValueAt(e.getFirstRow(), YOUR_BOOLEAN_COLUMN);
System.out.println(value);
}
}
});
1
짧은 대답은 당신이 두 가지 이유로 표에 JCheckboxes에 ActionListener를 추가 할 수 없습니다입니다 : 기본 설정으로
- , 하나의 JCheckBox에이 모든 체크 박스 세포를 렌더링하는 데 사용되는 .
- JCheckBox가 포함 된 표 셀의 마우스 클릭은 확인란에 전달되지 않고 테이블에 의해 흡수됩니다.
왜에게 이러한 이벤트가 필요한지 묻는 것이 중요하다고 생각합니다. 당신이주는 대답은 가장 좋은 접근 방식을 반영합니다.
사용자가 확인란의 상태를 편집 할 수있게하려는 경우 가장 좋은 방법은 TableModel.isCellEditable(int, int)
을 재정 의하여 확인란 열에 대해 true를 반환하고 TableModel이 업데이트 될 때 원본 데이터를 간단히 업데이트하는 것입니다.
관련 문제
- 1. SQLite 데이터베이스에서 aspnet_regsql.exe에 의해 생성 된 ASP.NET 테이블 사용
- 2. 엔터티 데이터 모델에 의해 생성 된 개체에서 Equals를 재정의하는 방법은 무엇입니까?
- 3. 병합 된 셀이있는 테이블 생성
- 4. gtk에서 정렬 된 테이블 생성
- 5. Flexigrid로 생성 된 테이블 삭제
- 6. LinqtoSQL에 의해 생성 된 SQL 표시
- 7. ListCollectionView.AddNew에 의해 생성 된 개체 유형
- 8. JDBC에 의해 생성 된 SQL 문 수정
- 9. beginGeneratingDeviceOrientationNotifications에 의해 생성 된 메소드 호출 중지
- 10. django 템플릿에 의해 생성 된 html 코드
- 11. 파이썬으로 javascript에 의해 생성 된 html 스크랩
- 12. ggplot2에 의해 생성 된 조각 잘라내 기
- 13. 활동에서 WebView에 의해 생성 된 데이터에 액세스합니다.
- 14. xargs에 의해 생성 된 명령을 백그라운드로 보냄
- 15. Eclipse에서 Gradle에 의해 생성 된 디버깅 프로젝트
- 16. FSYacc 스레드에 의해 생성 된 파서가 안전합니까?
- 17. cgcontext에 의해 생성 된 pdf에 페이지 추가하기
- 18. DB에 의해 생성 된 기본 키가없는 Hibernate?
- 19. SOAP2ObjC에 의해 생성 된 코드의 문제점
- 20. 파일에서 Qemu에 의해 생성 된 코드 캡처
- 21. Xcode에 의해 생성 된 정적 라이브러리의 크기
- 22. 경고 UIButton 설정 코드에 의해 생성 된
- 23. mysqli_stmt_bind_param에 의해 생성 된 return 문
- 24. ContextLoaderListener에 의해 생성 된 스프링 컨텍스트의 수
- 25. Asp.Net에서 Javascript에 의해 생성 된 처리 요소
- 26. javascript에 의해 생성 된 내용을 자체 공개
- 27. Zend_Soap_AutoDiscover에 의해 생성 된 WSDL의 변경 이름
- 28. HttpHandler에 의해 생성 된 JS와의 보안
- 29. Qooxdoo 테이블 위젯 : 수정 된 변경 사항을 원격 모델에 작성
- 30. 지연 테이블 초기화