java图形化得到用户选择的ComboBox的值

本文介绍如何在Java Swing中正确使用ComboBox组件获取用户的选择,避免通过监听器处理选择改变时出现的问题,并提供正确的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用getSelectedItem即可,不需要监听。

chara = (String) JCBOperationSelect.getSelectedItem();
n = Integer.valueOf((String)JCBNumberOfDigit.getSelectedItem());

若写如下代码:

//这样是不行的,会出现如下问题:无论ComboBox选什么,按开始做题显示的都是一位数加法。可能是因为监听器监听的是动作,但是选择这个动作发生在按按钮前。提交之后再重新选过再开始做题,这样显示出来的题目就是对的了(一定要重新选过,不选的话还是和原来一样是加法,即使第一次就把复选框的内容变成了其他的)

         JCBOperationSelect.addItemListener(new ItemListener()
          {
           @Override
           public void itemStateChanged(ItemEvent e)
           {
               //chara = ItemEvent.SELECTED;//一定要注意匿名内部类不能访问非final的局部变量,因此n和chara的声明都不能放在start函数中进行
               chara = (String) e.getItem();
           }
          });
         JCBNumberOfDigit.addItemListener(new ItemListener(){
             public void itemStateChanged(ItemEvent e){
                // n = ItemEvent.SELECTED;//这样是不行的 SELECTED表示的是有值被选中了 应该为0/1 表示是否选中 若要得到选中的东西 应用(String)XXX.getItem
                 n = Integer.valueOf((String)e.getItem());
             }
         });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值