Java中的JCheckBox按下按钮,勾选所有复选框

时间:2014-04-04 08:14:33

标签: java swing actionlistener jcheckbox

当我按下按钮 - 动态时,我想从GUI中的所有复选框中取消勾选。有可能吗?

JButton clean = new JButton("Clean");
clean.addActionListener(new MyCleanListener());
buttonBox.add(clean);

public class MyCleanListener implements ActionListener{
  public void actionPerformed(ActionEvent a){
     if(jCheckBox.isSelected())
        c.setSelected(false);
  }
}

感谢大家的帮助。     

public class MyCleanListener implements ActionListener{
      public void actionPerformed(ActionEvent a){
        for (int i = 0; i < 256; i++){
          c = checkboxList.get(i);
          c.setSelected(false);
          }
        }
    }

这是我的决定。

2 个答案:

答案 0 :(得分:0)

记住您在某些列表或其他数据结构中需要取消选中的所有复选框,然后您可以在干净的侦听器的动作执行方法中迭代它并将它们全部取消...

答案 1 :(得分:0)

    panel.add(box1);
    panel.add(box2);
    panel.add(clean);

    clean.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            Component[] components = panel.getComponents();
            for (Component component : components) {
                if (component instanceof  JCheckBox) {
                    JCheckBox checkBox = (JCheckBox) component;
                    if(checkBox.isSelected()) {                     
                    checkBox.setSelected(false);
                    }
                }
            }
        }
    });

从面板中获取所有JCheckBox组件并删除选择。