java - 打印错误的东西

标签 java jcombobox

                    for (int i = 1; i <= 100; ++i) {
                        ageList.add(i);
                    }

                    DefaultComboBoxModel<Integer> modelAge = new DefaultComboBoxModel<Integer>();
                    for (Integer i : ageList) {
                        modelAge.addElement(i);
                    }

                    JComboBox<Integer> ageEntries = new JComboBox<Integer>();
                    ageEntries.setModel(modelAge);

                    ageEntries.addItemListener(new ageListener());

  class ageListener implements ItemListener{
    public void itemStateChanged(ItemEvent event) {
         if (event.getStateChange() == ItemEvent.SELECTED) {
                System.out.println("Selected:" + ItemEvent.SELECTED);
            }

    }
  }

问题:当我选择年龄时,无论我选择的年龄如何,它都会打印出 1。例如,如果我选择数字 7,它会打印出 1。如果我选​​择 56,它会打印出 1。有什么想法吗?我被难住了。

最佳答案

使用它来检索所选项目..

 ((JComboBox)event.getSource()).getSelectedItem();

编辑:应该是 ((JComboBox<Integer>)event.getSource()).getSelectedItem();当您使用泛型时。 "is"这将出现在您的事件方法中。

编辑 2:您收到警告是因为我们无法确定 JComboBox 是否应该具有通用参数。编译器发出此警告是因为它认为进行此类转换不安全。

@SuppressWarnings("unchecked") 
((JComboBox<Integer>)event.getSource()).getSelectedItem();

关于java - 打印错误的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9696984/

相关文章:

java - 从版本 4.7.2 开始,ANTLR 无法生成 java 代码

java - JComboBox 未在 jTable 中打开

java - JComboBox 可编辑且选择时为空白

java - 对链表的递归逆向器中的返回变量/值感到困惑

java - 主键和唯一键的正则表达式

java - 在 mapreduce 程序中找不到类错误

java - Java中如何获取用户的空输入

Java 刷新 JCombobox

java - 如何删除 JComboBox 的背景?

java - 有没有办法查看在 ActionListener 中修改了 2 个 JComboBox 中的哪一个?