带有选择框的 JavaFX + Scene Builder 更新标签
JavaFX + Scene Builder Update Label with choicebox
我想知道从 ChoiceBox 值更新标签的最佳方法
截至目前,我在单击 ChoiceBox 时更新了标签,但这使用户 select 成为一个选择,然后单击 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());
}
预先感谢您的所有帮助!
有很多方法可以做到这一点,但我个人会使用简单的绑定。
label.textProperty().bind(stockChoice.getSelectionModel().selectedItemProperty());
假设 stockChoice
是 ChoiceBox
个 String
项。如果该项目是自定义类型,那么您可以使用Bindings.createStringBinding()
来帮助您。
我想知道从 ChoiceBox 值更新标签的最佳方法 截至目前,我在单击 ChoiceBox 时更新了标签,但这使用户 select 成为一个选择,然后单击 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());
}
预先感谢您的所有帮助!
有很多方法可以做到这一点,但我个人会使用简单的绑定。
label.textProperty().bind(stockChoice.getSelectionModel().selectedItemProperty());
假设 stockChoice
是 ChoiceBox
个 String
项。如果该项目是自定义类型,那么您可以使用Bindings.createStringBinding()
来帮助您。