CheckBoxTreeItem
を使用すると、私はそれが提供する機能(親がチェックされている場合はすべての子をチェックする機能)を望んでいるので、グラフィック、私の子供はStrings
のグラフィックを持っています。 Javaは、TreeView
に2種類の異なるタイプ(CheckBoxTreeItem<Hyperlink>
とCheckBoxTreeItem<String>
)が含まれていると、そのようなことを好まない。私の選択肢は、汎用タイプを受け入れるTreeView
を作成すること、またはHyperlinks
をプレーンテキストとして表示する方法を見つけることです。私はジェネリックタイプのオプションを数時間かけて試しましたが、動作させることはできません。私はハイパーリンクの変更にもっと傾いていますが、私は助言のためにどちらかの方法で素晴らしいものになるでしょう。異なるタイプのツリービュー
0
A
答えて
0
Node
タイプを追加する場合は、graphic
プロパティをTreeItem
とすることができます。
@Override
public void start(Stage primaryStage) {
CheckBoxTreeItem<String> item = new CheckBoxTreeItem<>(null, new Hyperlink("abc"));
CheckBoxTreeItem<String> item2 = new CheckBoxTreeItem<>("Hello World");
CheckBoxTreeItem<String> item3 = new CheckBoxTreeItem<>("42");
item.getChildren().setAll(item2, item3);
TreeView<String> treeView = new TreeView<>(item);
treeView.setCellFactory(CheckBoxTreeCell.forTreeView());
Scene scene = new Scene(treeView);
primaryStage.setScene(scene);
primaryStage.show();
}
TreeItem
値はNode
が含まれている場合、あなたはCheckBoxTreeCell
のupdateItem
方法を少し変更する必要があります
CheckBoxTreeItem<Object> item = new CheckBoxTreeItem<>(new Hyperlink("abc"));
CheckBoxTreeItem<Object> item2 = new CheckBoxTreeItem<>("Hello World");
CheckBoxTreeItem<Object> item3 = new CheckBoxTreeItem<>("42");
CheckBoxTreeItem<Object> item4 = new CheckBoxTreeItem<>(new Hyperlink("def"));
item.getChildren().setAll(item2, item3, item4);
TreeView<Object> treeView = new TreeView<>(item);
treeView.setCellFactory(tv -> new CheckBoxTreeCell<Object>() {
private final HBox graphicWrapper = new HBox();
{
graphicWrapper.setAlignment(Pos.BASELINE_LEFT);
}
@Override
public void updateItem(Object item, boolean empty) {
graphicWrapper.getChildren().clear();
super.updateItem(item, empty);
if (!empty && (item instanceof Node)) {
// replace graphic & text
setText(null);
graphicWrapper.getChildren().setAll(getGraphic(), (Node) item);
setGraphic(graphicWrapper);
}
}
});
関連する問題
- 1. 異なるフォルダクラスのツリービュー
- 2. 1つの単一のデータテンプレートにバインドされる異なるタイプのツリービュー項目
- 3. 異なるタイプのプロパティーセッター
- 4. イテレータのタイプが異なる
- 5. 異なるタイプのMongoDBインデックス
- 6. 異なるタイプのオブジェクトは
- 7. 異なるタイプのMysqlカウント
- 8. Djangoの異なるタイプ
- 9. 異なるタイプの抽象
- 10. 異なるタイプの返却
- 11. 異なる結果タイプ
- 12. スパーク - 異なる列タイプ
- 13. 異なるボタンの異なるタイプの検証
- 14. 同じタイプの異なるオブジェクトの異なる名前
- 15. 異なるタイプのオブジェクトファイルをリンクする
- 16. 異なるタイプの製品のテストオートメーションフレームワーク
- 17. Railsの異なる列タイプのベストプラクティス
- 18. 異なるタイプのブースト機能のマップ?
- 19. 異なるタイプ間のconstポインタのキャスト
- 20. ツリービューは異なるビューモデルで選択されています
- 21. ElasticSearch - 異なるインデックスから異なるタイプを取得する
- 22. 任意のttkツリービュー行のtkinterバインディングが異なります
- 23. グループ+異なるタイプの列数
- 24. 異なるタイプのネットワークタブで2回コール
- 25. DevExpressのChangingEventArgsで異なるタイプ
- 26. 異なるタイプの汎用インターフェース
- 27. 異なるタイプの2次元配列
- 28. 異なるタイプのデータベースと同じコード
- 29. Kleisliの異なる入力タイプに `then`?
- 30. 。(入って)異なるタイプの
方法のナンバーワンと一緒に行きました。魅力のように働いた。読んでいる人には、必ずsetCellFactory行を含めてください。それ以外の場合は、文字列のみのTreeView、CheckBoxはありません。 – mpowell48