rug*_*y82 1 java user-interface javafx fxml
我正在使用 JavaFX 和 jdk 1.8。
使用 FXML 文件上的脚本,可以在禁用另一个按钮时禁用一个按钮吗?
您可以在 fxml 中使用表达式绑定。
假设您想将Button.disable一个按钮的属性绑定到Button.disabled另一个按钮的属性:
<CheckBox fx:id="cb" text="button 1 disabled"/>
<Button fx:id="b1" text="button 1" disable="${cb.selected}"/> <!-- disable button iff the checkbox is checked -->
<Button text="button 2" disable="${b1.disabled}"/> <!-- disable this button iff b1 is disabled -->
Run Code Online (Sandbox Code Playgroud)
如果b1稍后需要将其添加到场景中,则需要使用<fx:define>beforeb2创建按钮并<fx:reference>在稍后使用 将其添加到场景中。
<fx:define>
<Button fx:id="b1" text="button 1" disable="${cb.selected}"/>
</fx:define>
<Button text="button 2" disable="${b1.disabled}"/>
<fx:reference source="b1" />
Run Code Online (Sandbox Code Playgroud)