0
Q
선택 자바 FX
A
답변
0
TableColumnHeader
의 이벤트 처리기를 바꿀 수 있습니다. 이 수신기에서 TableView
의 선택 모델을 사용하여 전체 열을 선택할 수 있습니다. 당신이 추가로 선택하여 표시 열의 빈 셀을 원하는 경우에, 당신이 선택한 열의에 스타일 클래스를 추가 할 수 있습니다
private static final String selectedStyleClass = "selected";
@Override
public void start(Stage primaryStage) {
TableView<Item<String>> tableView = createTable();
// set selection mode to multi-cell-selection
tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
tableView.getSelectionModel().setCellSelectionEnabled(true);
// make sure the table skin is created
Scene scene = new Scene(tableView);
tableView.applyCss();
tableView.layout();
// clear column selection on change of selected cells
tableView.getSelectionModel().getSelectedCells().addListener((Observable v) -> clearSelections(tableView));
tableView.lookupAll("TableColumnHeader").stream().forEach(h -> {
final TableColumnHeader header = (TableColumnHeader) h;
header.setOnMouseReleased(evt -> {
evt.consume();
// select the whole column
tableView.getSelectionModel().selectRange(0, header.getTableColumn(), tableView.getItems().size() - 1, header.getTableColumn());
// add style class for styling empty cells in selected column
List<String> style = header.getTableColumn().getStyleClass();
if (!style.contains(selectedStyleClass)) {
style.add(selectedStyleClass);
}
});
});
scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
}
private static void clearSelections(TableView<?> tableView) {
for (TableColumn column : tableView.getColumns()) {
column.getStyleClass().remove(selectedStyleClass);
}
}
있는 style.css
.table-view:focused .table-cell:empty.selected {
-fx-background: -fx-selection-bar;
-fx-table-cell-border-color: derive(-fx-selection-bar, 20%);
}
.table-view .table-cell:empty.selected {
-fx-background: -fx-selection-bar-non-focused;
-fx-table-cell-border-color: derive(-fx-selection-bar-non-focused, 20%);
-fx-background-color: -fx-table-cell-border-color, -fx-background;
-fx-background-insets: 0, 0 0 1 0;
}
+0
정말 고마워요. – zaki
관련 문제
- 1. 자바 FX 오디오 출력 선택
- 2. 자바 FX 선택 상자 현지화
- 3. 자바 FX
- 4. 자바 FX
- 5. 자바 FX
- 6. 자바 FX
- 7. 자바 FX
- 8. 자바 FX
- 9. 자바 FX
- 10. 자바 FX :
- 11. 자바 FX
- 12. 자바 FX
- 13. 자바 FX
- 14. 자바 FX
- 15. 자바 FX
- 16. 자바 FX
- 17. 자바 FX
- 18. 은 자바 FX : ChangeListener의
- 19. 자바 FX 2] 선택은
- 20. 는 자바 오 자바 FX
- 21. 자바 FX 예외 : 자바 FX/응용 프로그램/응용 프로그램
- 22. 자바 FX 및 제네릭 - 자바 FX 노드의 속성 주어진 ObservableValue
- 23. 자바 FX 부모 레이아웃
- 24. 자바 FX 애플리케이션 클래스
- 25. 자바 FX ml의 이클립스
- 26. 자바 FX 팝업 글꼴
- 27. 는 동적 자바 FX
- 28. 자바 FX : ScrollPane에
- 29. 자바 FX 모달
- 30. 자바 FX 오류에 CentOS
할 수 있습니다 귀하의 테이블 뷰 객체와 열 개체, 그래서 나는 dataTypes 볼 수 있습니다. –