gpt4 book ai didi

java - 在javafx中将EventHandler添加到TreeItem

转载 作者:行者123 更新时间:2023-12-02 12:48:21 24 4
gpt4 key购买 nike

我是 Java 新手,我需要帮助。我想将事件添加到 TreeView 中的特定 TreeItem。我有一些代码,但它不起作用。我做错了什么?

这是我的代码:

TreeItem<String> item = new TreeItem<>(s);

item.addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>(){
public void handle(MouseEvent e) {
System.out.println("Hello World");
}
});

this.item.getChildren().add(item);

它创建了一个 TreeView,但该事件不起作用。

感谢您的帮助。

最佳答案

我想你想处理这个问题,如果你点击一个TreeItem,如果你向所选项目添加一个监听器,这个问题可以很简单地解决:

treeTable.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
if(newValue != null && newValue != oldValue){
System.out.println("Hello World");
}
});

如果您不熟悉 java8 的 lambda,这里是带有匿名类的版本:

table.getSelectionModel().selectedItemProperty().addListener(new 
ChangeListener<TreeItem<TestRow>>() {
@Override public void changed(
ObservableValue<? extends TreeItem<TestRow>> observable,
TreeItem<TestRow> oldValue,
TreeItem<TestRow> newValue) {
if (newValue != null && newValue != oldValue) {
System.out.println("Hello World");
}
}
});

关于java - 在javafx中将EventHandler添加到TreeItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44670830/

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