Griffon FXML 按钮文本值被覆盖

Griffon FXML button text value is overwritten

格里芬 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

       }
    }
}

用文本 "Click2"
显示此按钮

为什么 FXML 中的 text="Test" 配置被 griffonActionId 名称覆盖了?

当我在 FXML 中使用它时有效:

<Button fx:id="btn1" ...

在 TestView.groovy 中:

@FXML private Button btn1  
...
btn1.text = 'Test'

这显示:

这是设置按钮文本的正确方法吗?

这是预期的行为。通过 Griffon 操作配置的按钮会将它们的属性绑定到操作属性。默认情况下,按钮的文本绑定到操作的名称。您可以通过在代码中显式设置按钮的文本来覆盖此行为,就像您所做的那样。