【问题标题】:Binding button disable property to treeview selection in fxml将按钮禁用属性绑定到 fxml 中的树视图选择
【发布时间】:2013-01-18 15:31:51
【问题描述】:

我在 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。
该按钮应启用和禁用。

有什么想法吗?

【问题讨论】:

    标签: java binding javafx fxml


    【解决方案1】:

    您可以从代码中执行以下操作:

    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);
            }
    });
    

    【讨论】:

      猜你喜欢
      • 2015-11-04
      • 2014-08-06
      • 2012-03-02
      • 2014-10-14
      • 1970-01-01
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 2014-02-03
      相关资源
      最近更新 更多