java JavaFX TreeTableView节点箭头停止行选择
我有一个JavaFX应用程序,使用JFX8使用TreeTableView
有没有办法阻止TreeTableView在Disclosure节点箭头区域拦截鼠标点击,即使该行是一片叶子(即没有子节点),因此没有Disclosure节点展开箭头?当前的行为似乎是在该行最左边拦截这些鼠标点击,尽管我认为用户会希望选中该行,因为没有公开节点
见下面的例子
public class TestTreeTableViewApplication extends Application {
@Override
public void start(Stage primaryStage) {
AnchorPane anchorPane = new AnchorPane();
anchorPane.setPrefWidth(600);
anchorPane.setPrefHeight(600);
TreeTableView<String> treeTableView = new TreeTableView<>();
TreeTableColumn<String, String> primaryColumn = new TreeTableColumn<>("Col1");
primaryColumn.setPrefWidth(200);
treeTableView.getColumns().add(primaryColumn);
//Just to show some data in the column for test purposes...
primaryColumn.setCellValueFactory(call -> new ReadOnlyStringWrapper(call.getValue().getValue()));
treeTableView.setRoot(new TreeItem<>("Root"));
for (int i = 0; i < 15; i++) {
TreeItem<String> newChild = new TreeItem<>("1st Tier Test " + i);
treeTableView.getRoot().getChildren().add(newChild);
for (int j = 0; j < 3; j++) {
TreeItem<String> newChild2 = new TreeItem<>("2nd Tier Test " + i);
newChild.getChildren().add(newChild2);
}
}
anchorPane.getChildren().add(treeTableView);
Scene scene = new Scene(anchorPane, 600, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
共 (0) 个答案