JavaFX TreeTableView 의 column에 TextField넣고 변경하기
사용자 entity 생성
@Entity
@Data
public class UserVO {
private String id;
private String name;
}
- userTree 변수명으로 Tree 생성
- colId, colName 컬럼명 생성
- setOnEditCommit 이벤트로 TextField명을 변경했을 때의 이벤트 호출
@FXML private TreeTableView<UserVO> userTree;
@FXML private TreeTableColumn<UserVO> colId, colName;
private void treeSetting() {
colName.setCellValueFactory(new TreeItemPropertyValueFactory<UserVO, String>("name"));
colName.setCellFactory(new Callback<TreeTableColumn<UserVO, String>, TreeTableCell<UserVO, String>>() {
@Override
public TreeTableCell<UserVO, String> call(TreeTableColumn<UserVO, String> param) {
return new TextFieldTreeTableCell<>();
}
});
colName.setCellFactory(TextFieldTreeTableCell.forTreeTableColumn());
colName.setOnEditCommit(new EventHandler<TreeTable.CellEditEvent<UserVO, String>>() {
@Override
public void handle(TreeTableColumn.CellEditEvent<UserVO, String> event) {
TreeItem<UserVO> entity = userTree.getTreeItem(event.getTreeTablePosition().getRow());
entity.getValue().setName(event.getNewValue());
}
});
}
'JavaFX' 카테고리의 다른 글
[JavaFX] multiple key event Combination ctrl + s 단축키 사용 (0) | 2020.08.25 |
---|---|
[JavaFX] TreeTableView Key event - Row Delete (0) | 2020.08.20 |
[JavaFX] Hibernate cannot be case to 오류 (0) | 2020.08.15 |
[JavaFX] textField input validation 체크하기 (0) | 2020.08.05 |
[JavaFX] TreeTableView, JFXTableView 만들고 데이터 저장하기 (0) | 2020.07.23 |