gpt4 book ai didi

JavaFX - 通过按钮编辑 TreeView 节点文本

转载 作者:行者123 更新时间:2023-12-01 19:46:21 29 4
gpt4 key购买 nike

我有一个带有 TreeView 的表单,我想通过按按钮更改所选项目的文本。我找不到如何通过按下按钮来实现这一点。我找到了如何通过双击单元格来做到这一点,但我无法通过按钮理解。也许有人知道如何实现这一点或放弃链接。

我将非常感激。

最佳答案

只需使用选择模型来获取选定的 TreeItem 并更改其 value 属性。

示例

@Override
public void start(Stage primaryStage) throws IOException {
TreeView<String> treeView = new TreeView<>();

// create data
TreeItem<String> root = new TreeItem<>("root");

TreeItem<String> child1 = new TreeItem<>("child1");
TreeItem<String> child2 = new TreeItem<>("child2");
root.getChildren().addAll(child1, child2);

child1.getChildren().addAll(
new TreeItem<>("child1-1"),
new TreeItem<>("child1-2"));

child2.getChildren().addAll(
new TreeItem<>("child2-1"),
new TreeItem<>("child2-2"));

treeView.setRoot(root);

Button button = new Button("Change");
button.disableProperty().bind(treeView.getSelectionModel().selectedItemProperty().isNull());
TextField textField = new TextField();

button.setOnAction(evt -> {
// set text of selected item to TextField text
TreeItem<String> item = treeView.getSelectionModel().getSelectedItem();
String text = textField.getText();
item.setValue(text);
});

Scene scene = new Scene(new VBox(treeView, textField, button));

primaryStage.setScene(scene);
primaryStage.show();
}

关于JavaFX - 通过按钮编辑 TreeView 节点文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53187882/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com