CheckBoxTreeCells
を含むTreeView
を作成しました。私もButton
を持っています。私はCheckBoxTreeCells
のすべてをチェックしたいと思います。私はthis tutorialを読んでいて、少し失われています。ここで私はこれまで持っているものです。TreeView JavaFXのCheckBoxTreeCellをすべて確認してください
ボタンのコード:
public void fooMethod() {
/*selectAll is an instance variable*/
selectAll = new Button("Select All");
selectAll.setOnMouseClicked(e -> handleSelectAllButtonAction(e));
}
private void handlSelectAllButtonAction(MouseEvent e) {
/*Code goes here*/
}
のTreeViewコード:
public void fooMethod2() {
/*myTreeView is also an insance variable*/
myTreeView = new TreeView<String>();
CheckBoxTreeItem<String> root = new CheckBoxTreeItem<>();
CheckBoxTreeItem<String> branch1 = new CheckBoxTreeItem<>("Branch 1");
CheckBoxTreeItem<String> branch2 = new CheckBoxTreeItem<>("Branch 2");
CheckBoxTreeItem<String> branch3 = new CheckBoxTreeItem<>("Branch 3");
root.getChildren.add(branch1);
root.getChildren.add(branch2);
root.getChildren.add(branch3);
myTreeView.setCellFactory(CheckBoxTreeCell.forTreeView());
myTreeView.setRoot(root);
myTreeView.setShowRoot(false);
myTreeView.setEditable(true);
}
リンクに提供された例は、もう少し複雑な私は必要なものよりも、そしてIそれは私を混乱させていると思う。 TreeViewのCheckBoxTreeItemsを編集するにはどうすればよいですか?これは自動的に子供を選択するので
root.setSelected(true);
:ルートを選択してその十分な独立したCheckBoxTreeItem
sが、ある場合を除き
private void handlSelectAllButtonAction(MouseEvent e) {
CheckBoxTreeItem<String> root = (CheckBoxTreeItem<String>)myTreeView.getRoot();
int numBranches = root.getChildren().size();
for(int i = 0; i < numBranches; i++) {
if(((CheckBoxTreeItem<String>)root.getChildren().get(i)).isSelected()) {
((CheckBoxTreeItem<String>)root.getChildren().get(i)).setSelected(false);
}
}
}
[ここには、javafxでtreeviewを繰り返すリンクがあります。これが助けてくれればと思っています。](http://stackoverflow.com/questions/28342309/iterate-treeview-nodes) –
これは私が最初に試したことですが、チェックボックスをオフにすることはできません。 CheckBoxTreeItemsのリストの代わりにTreeItemsを使用します。ありがとう、結構です。 – mpowell48