如何使用 Java Swing 取消选择和撤消复选框?

How to unselect and undo with checkboxes using Java Swing?

我有一个复选框,选中该复选框后我想将 int 2 添加到我的总数中。然后我希望能够取消选择它,然后将 int 2 减去我的总数。

目前,我无法取消选择并减去 2。

此外,我的复选框位于按钮组中,因此我需要使用 clearSelection() 作为取消选择的解决方案。

我目前的代码是(不太好用):

monTill4ChckBox.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {

            if(monTill4ChckBox.isSelected()){

                mondayCost= mondayCost + 2; 
            }
            else{
            mondayCost= mondayCost - 2;             
            monAftergroup.clearSelection();
            }

我认为您应该将项目侦听器添加到复选框以正确侦听检查状态。 像这样;

monTill4ChckBox.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent arg0) {
            if(monTill4ChckBox.isSelected()){
                mondayCost= mondayCost + 2; 
            }
            else{
                mondayCost= mondayCost - 2;             
                monAftergroup.clearSelection();
            }
            System.err.println("Counter: " + mondayCost);
        }
    });