2013-02-03 48 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); 
     } 
});