如何使用javafx根据来自另一个组合框的单击值设置组合框的值

时间:2018-01-17 03:15:04

标签: java javafx combobox

我是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”。

2 个答案:

答案 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()
        );
    });
}