(我不是母语为英语的人,但我会尽我所能)
嗨,我的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
答案 0 :(得分:1)
因为您要创建ItemListener
并覆盖itemStateChanged
方法。
文档指定
当用户选择或取消选择某个项目时调用。
这解释了为什么只需点击即可调用它。
您可能希望改用ChangeListener
并覆盖方法stateChanged
。
当侦听器的目标已更改其状态时调用。
检查this sample如何检测不同的事件,如按,选择等。