Griffon 2.10.0
FXML:
<Button layoutX="172.0" layoutY="45.0" JavaFXUtils.griffonActionId="click2"
mnemonicParsing="false" text="Test"
prefWidth="200.0"
/>
TestView.groovy:
void initUI() {
builder.application(title: application.configuration['application.title'], name: "settingsWindow",
centerOnScreen: true, resizable: false) {
scene {
def node = loadFromFXML("views/test.fxml")
connectActions(node, controller)
inputx.textProperty().bindBidirectional(model.inputProperty())
fxml node
}
}
}
为什么FXML中的text="Test"
配置被griffonActionId名称覆盖?
当我在FXML中使用它时,它可以工作:
<Button fx:id="btn1" ...
在TestView.groovy中:
@FXML private Button btn1
...
btn1.text = 'Test'
这是设置按钮文本的方式吗?
答案 0 :(得分:2)
这是预期的行为。通过Griffon动作配置的按钮将其属性绑定到动作属性。默认情况下,按钮的文本绑定到操作的名称。您可以通过在代码中显式设置按钮的文本来覆盖此行为,就像您一样。