Я использую древовидное представление, чтобы быстрее перемещаться в моем печатном виде. Перед тем, как пользователь печатает документ, он может выбрать или отменить выбор столбцов. Некоторые из столбцов являются обязательными, поэтому я хочу, чтобы они всегда выбирались, даже если пользователь пытается отменить их выбор. Это пример того, как это выглядит. Как я могу установить выбор для элемента в true и сохранить его таким образом?
public class TreeItemExample extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
AnchorPane root = new AnchorPane();
TreeView<String> treeView = new TreeView<>();
CheckBoxTreeItem<String> rootItem = new CheckBoxTreeItem<>("Example");
CheckBoxTreeItem<String> mandatoryItem = new CheckBoxTreeItem<>("A");
CheckBoxTreeItem<String> optionalItem = new CheckBoxTreeItem<>("B");
mandatoryItem.setSelected(true);
mandatoryItem.selectedProperty().addListener((observable, oldValue, newValue) -> {
newValue = true;
mandatoryItem.setSelected(true);
});
rootItem.getChildren().addAll(mandatoryItem, optionalItem);
treeView.setRoot(rootItem);
treeView.setCellFactory(CheckBoxTreeCell.<String>forTreeView());
root.getChildren().add(treeView);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}