Griffon FXML按钮文本值被覆盖

时间:2017-05-20 04:48:43

标签: javafx griffon

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

       }
    }
}

显示此按钮,文字“Click2”
enter image description here

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

当我在FXML中使用它时,它可以工作:

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

在TestView.groovy中:

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

显示:
enter image description here

这是设置按钮文本的方式吗?

1 个答案:

答案 0 :(得分:2)

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