5

JavaFx 2 の 1 つのケースでは、最初は特定の深さで折りたたまれた TreeView があります。私が達成しようとしているのは、ユーザーのクリックによって 1 つのノードが展開されているときに、そのツリー項目のプロパティ/値を変更するアクションが発生することです。

問題は、そのツリー項目を参照する方法がわからないことです。各 treeitem expanedProperty にリスナーを追加しますが、その ChangeListner メソッドでは、古い/新しい値しか取得できず、変更イベントが発生した treeitem を参照できません。

誰か助けてくれませんか?どうもありがとう。

4

1 に答える 1

9

はい、もちろん。これを試して:

treeItem.expandedProperty().addListener(new ChangeListener<Boolean>() {
    @Override
    public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
        System.out.println("newValue = " + newValue);
        BooleanProperty bb = (BooleanProperty) observable;
        System.out.println("bb.getBean() = " + bb.getBean());
        TreeItem t = (TreeItem) bb.getBean();
        // Do whatever with t
    }
});
于 2013-01-09T15:56:14.727 に答える