java - JComboBox 项目监听器

标签 java swing jcombobox itemlistener comboboxmodel

我有两个组合框。第一个包含一些运算符(+、-、*、/),第二个包含一些从 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。我解决了这个问题?! 谢谢

最佳答案

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

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

关于java - JComboBox 项目监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10473065/

相关文章:

java - 如何在CompilationUnit中获取有关导入的问题

swing - 无法使用 OpenJDK 6 和 7 找到 JButton 类

java - 如何从组合框值传递到

java - 非法参数异常 : URI is not hierarchical with runable . jar 文件

Java:像 JavaScript 一样将函数作为参数传递?

Java Swing 多线程管理与观察者模式

java - 在我的 JList 上添加滚动

java - 从 actionPerformed 方法中选择一个值

java - jcombobox 持有 int 数组错误

java - 如何在 log4j2 的 SmtpAppender 中设置自定义主题