SWT 때부터 테이블 UI 를 만들때마다 고민거리가 되었던 테이블 헤더에 체크박스를 넣는 방법을 알아보자.
1. 먼저 컬럼에 setGraphic 으로 체크박스를 새로 생성해 준다.
column.setGraphic(new CheckBox());
2. 이벤트 핸들러를 만들어서 체크시마다 list 또는 데이터의 추가 삭제 하는 이벤트를 생성한다.
EventHandler<ActionEvent> handler = new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
CheckBox cb = (CheckBox) event.getSource();
TableColumn column = (TableColumn) cb.getUserData();
if (cb.isSelected()) {
lstClm.add(column);
} else {
lstClm.remove(column);
}
for (TableColumn clm : lstClm) {
System.out.println("selected column: " + clm.getText());
}
}
};
3. 체크박스를 생성하여 핸들러를 set 한다.
CheckBox cb = new CheckBox();
cb.setUserData(firstDataColumn);
cb.setOnAction(handler);
firstDataColumn.setGraphic(cb);
'JavaFX' 카테고리의 다른 글
JavaFX partical boder 부분적으로 boder 적용하기 (0) | 2013.02.15 |
---|---|
이클립스 javafx 사용하기 (0) | 2013.01.12 |
[JavaFX] 1.Prepare for This Tutorial (0) | 2012.12.03 |