我在 fxml 中找不到任何简单绑定(bind)的示例。
如果在 TreeView 上选择了一个项目,我想启用/禁用按钮。
我试过这段代码(标签用于测试绑定(bind)):
<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。
该按钮应启用和禁用。
有什么想法吗?
最佳答案
从代码中你可以做这样的事情:
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);
}
});
关于java - 将按钮禁用属性绑定(bind)到 fxml 中的 TreeView 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14678177/