复选框的侦听器无法使用按钮



(我不是英语母语,但我会尽我所能)

嗨,我有一个jcheckbox的问题,我用这个代码创建了这个

try (ResultSet rs = st.executeQuery("SELECT * FROM cuentas ")) {
                while (rs.next()) {
                    cmb[i] = new javax.swing.JCheckBox();
                    cmb[i].setLabel(rs.getObject("cuentascol").toString());
                    jPanel15.add(cmb[i]);
                    cmb[i].setBounds(20, 20 + (i * 20), 160 + (i * 20), 23 + (i * 20));
                    cmb[i].addItemListener(new ItemListener() {
                        @Override
                        public void itemStateChanged(ItemEvent evt) {
                            JCheckBox cb = (JCheckBox)evt.getItem();
                        }
                    });
                    i = i + 1;
                }
            }

我找到了如何给他们添加一个监听器,但监听器只有在按钮被选中或没有被选中时才能工作,我需要检查这是否被选中,但当我按下按钮时,按钮会从这个中获取一个数字

int comboNum=1;
                    for(int pp=0;pp<total_checkbox;pp++){
                        comboNum=comboNum+1;
                    }

在这个按钮中,我需要检查是否选择了jcheckbox

因为您正在创建一个ItemListener并覆盖itemStateChanged方法。

文档指定

当用户选择或取消选择某个项目时调用。

这解释了为什么当你简单地点击时它不会被调用。

您可能需要使用ChangeListener并重写方法stateChanged

当侦听器的目标更改了其状态时调用。

检查此示例以了解如何检测不同的事件,如按下、选择等。

最新更新