我是javafx的新手,想要根据第一个组合框实时选择的值为另一个组合框设置新值。 我已经尝试过这段代码而不是
@FXML
public void A(ActionEvent event) {
String a[] = {"A","B","C"};
list2 = FXCollections.observableArrayList(a);
ChunitS.setItems(list2);
if (ChunitS.getValue() == (null)) {
return;
} else {
list1 = FXCollections.observableArrayList(ChunitS.getValue().toString());
ChassS.setItems(list1);
}
}
如果我在第一个组合框中选择“A”,则应更新第二个组合框以使其中的值为“A”。
答案 0 :(得分:4)
尝试在on action first combobox函数中使用String output = ChunitS.getSelectionModel().getSelectedItem().toString();
以获得所选内容。然后在第二个组合框中设置所选值。希望有所帮助
答案 1 :(得分:1)
您可以将侦听器添加到第一个ComboBox:
rand
,或使用按钮(@FXML' onAction'参考):
@FXML private ComboBox<String> combo1,combo2;
@Override
public void initialize(URL location, ResourceBundle resources) {
//Init ComboBox items
combo1.setItems(
FXCollections.observableArrayList(new String[]{"A","B"})
);
combo2.setItems(FXCollections.observableArrayList());
//add ActionListener for Example
combo1.setOnAction(e->{
combo2.getItems().add(
combo1.getSelectionModel().getSelectedItem()
);
});
}