问题描述
我有一个使用JFX8的TreeTableViews的JavaFX应用程序。
有没有一种方法可以阻止TreeTableViews在“披露节点”箭头区域内拦截鼠标单击,即使该行是叶子(即没有子级)并且因此也没有“披露节点”展开箭头?当前的行为似乎是在“行”的最左侧拦截这些鼠标单击,尽管我认为用户会希望选择该行,因为没有公开节点。
请参见下面的示例...
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);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)