我有一个包含一个复选框和一个文本框的对话框。仅当选中该复选框时才应启用文本框。
目前我尝试使用以下绑定(bind)来执行此操作。
CheckBox cbox = new CheckBox("Enable textbox");
TextBox tbox = new TextBox();
tbox.disableProperty().bind(cbox.selectedProperty());
但这具有与我想要的完全相反的效果(当我选择该复选框时,文本框将被禁用)。我在文本框中找不到“enableProperty”。
我发现文本框有一个“editableProperty()”,并将其绑定(bind)到 selectedProperty 具有我想要的部分所需效果。不过,我觉得禁用仍然是一个更好的选择,因为它在视觉上更直观。
这可能是一个简单的修复方法,但是当选中复选框时,我到底该如何绑定(bind)属性才能启用文本框?
最佳答案
tbox.disableProperty().bind(cbox.selectedProperty());
这意味着当选择 cbox 时,tbox 将禁用。您可以使用 not 属性:
tbox.disableProperty().bind(cbox.selectedProperty().not());
关于java - 选中复选框时启用文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59056742/