2017-05-20 8 views
0

그리폰 덮어 ​​2.10.0그리폰 FXML 버튼 텍스트 값은

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이 버튼을 보여줍니다

이유는입니다.griffonActionId 이름으로 FXML의 구성을 덮어 씁니까?

내가 FXML이를 사용할 때 의미가 있습니다 : TestView.groovy

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

을 그리고 지역 :

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

이 표시됩니다
enter image description here

이 적절한이다 버튼 텍스트를 설정하는 방법은?

답변

1

이것은 예상되는 동작입니다. Griffon 액션을 통해 구성된 버튼은 해당 속성을 작업 속성에 바인딩합니다. 버튼의 텍스트는 기본적으로 작업 이름에 바인딩됩니다. 코드에서 버튼의 텍스트를 명시 적으로 설정하여이 동작을 오버라이드 할 수 있습니다.