带有choicebox的JavaFX + Scene Builder更新标签

时间:2018-01-19 02:17:41

标签: java javafx scenebuilder

我想知道从ChoiceBox值更新Label的最佳方法 到目前为止,我点击ChoiceBox时会更新标签,但这会让用户选择一个选项,然后点击ChoiceBox进行更新 以下是鼠标单击到Scene Builder中选项框时调用的显示方法的相关代码

  @FXML
public void display() {
    label.setText((String) stockChoice.getValue());
}

另外,我的初始化方法,我将一个项目(生菜)放入选择框

@Override
public void initialize(URL url, ResourceBundle rb) {
    modelClass = new WarehouseModel();
    modelClass.addNewVariety("Lettuce");
    stockChoice.getItems().addAll(modelClass.getAllVarieties());

}

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

有很多方法可以做到这一点,但我个人会使用简单的绑定。

label.textProperty().bind(stockChoice.getSelectionModel().selectedItemProperty());

假设stockChoiceChoiceBoxString个项目。如果该项目是自定义类型,则您可以使用Bindings.createStringBinding()来帮助您。