Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javafx中的树元素的addEventHandler_Java_Javafx_Treeview - Fatal编程技术网

javafx中的树元素的addEventHandler

javafx中的树元素的addEventHandler,java,javafx,treeview,Java,Javafx,Treeview,我是Java新手,需要帮助。我想将事件添加到我的TreeView中的特定TreeItem。我有一些代码,但它不工作。我做错了什么 这是我的密码: TreeItem<String> item = new TreeItem<>(s); item.addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>(){ public void handle(M

我是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);
TreeItem项目=新的TreeItem;
item.addEventHandler(MouseEvent.MOUSE_按下,新事件处理程序(){
公共无效句柄(MouseEvent e){
System.out.println(“你好世界”);
}
});
this.item.getChildren().add(item);
它创建了一个树状视图,但该事件不起作用


谢谢您的帮助。

如果您单击
树项,我想您需要处理这个问题。如果您向所选项目添加一个侦听器,这将非常简单:

treeTable.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
    if(newValue != null && newValue != oldValue){
           System.out.println("Hello World");
    }
});
如果您不熟悉java8的lambdas,以下是匿名类的版本:

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");
            }
        }
});
table.getSelectionModel().SelectEditeProperty().addListener(新建)
ChangeListener(){
@覆盖公共无效已更改(

ObservalEvalue我想如果你点击一个
TreeItem
这可以很简单地解决,如果你在所选项目中添加一个监听器:

treeTable.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
    if(newValue != null && newValue != oldValue){
           System.out.println("Hello World");
    }
});
如果您不熟悉java8的lambdas,以下是匿名类的版本:

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");
            }
        }
});
table.getSelectionModel().SelectEditeProperty().addListener(新建)
ChangeListener(){
@覆盖公共无效已更改(
可观察值