0

我有两个组合框。第一个包含一些运算符 (+ , - ,* ,/),第二个包含一些从 0 到 10 的值。当用户在第一个组合框中选择 (/) 时,我希望第二个显示一个从 2 到 10 的值从 0 到 10。

我试过这个:

String[] operators = {"+","-" ,"*", "/"};

String[] number = {"0","1","3"....."10"};

divisionModel= new DefaultComboBoxModel(new String[]{"2","3","4","5".."10"});



    operatorCombo = new JComboBox(operators);

    numberCombo = new JComboBox(number);


operatorCombo.addItemListener(new ItemListener() {
    public void itemStateChanged(ItemEvent e) {


    if (operatorCombo .getSelectedItem().equals("/")){

        numberCombo .setModel(divisionModel);
  }

我的问题是当我选择(“/”)时 numberCombo 工作正常并显示从 2 到 10 的数字但是当我点击另一个运算符时它仍然显示从 2 到 10 而不是 0 到 10 的数字。我该如何解决这个问题问题?!谢谢

4

2 回答 2

2
// always compare objects using equals()
if (operatorCombo.getSelectedItem().equals("/")) {..

至于更新第二个组合,为其创建一个新模型并调用setModel(ComboBoxModel).

于 2012-05-06T19:15:31.813 回答
2

您可能会查看此示例,该示例显示了在 oneJComboBox中所做的选择如何JComboBox通过使用不同的DefaultComboBoxModel.

于 2012-05-06T20:32:39.940 回答