2013-02-03 51 views
3

我找不到任何简单的绑定在fxml的例子。绑定按钮禁用财产树状视图选择在fxml

我想启用/禁用按钮,如果在树形视图上选择一个项目。

我已经试过这个代码(标签用于测试绑定):

<Scene xmlns:fx="http://javafx.com/fxml"> 
    <BorderPane> 
    <top> 
     <Button text="test" disable="${treeView.selectionModel.selectedItem.isNull}" /> 
    </top> 
    <center> 
     <TreeView fx:id="treeView" /> 
    </center> 
    <bottom> 
     <Label text="${treeView.selectionModel}" /> 
     <Label text="${treeView.selectionModel.selectedItem.isNull}" /> 
    </bottom> 
    </BorderPane> 
</Scene> 

此代码不会产生错误。

第一个标签显示treeView的选择模型toString()
第二个标签不显示任何内容,但应显示true或false。
该按钮应该启用和禁用。

任何想法?

回答

0

从代码,你可以做这样的事情:

treeview.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() 
    { 
     @Override 
     public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) 
     { 
      if (newValue.intValue() > 0) 
       button.setDisable(true); 
      else 
       button.setDisable(false); 
     } 
});