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

标签 java swing user-interface checkbox

我有一个复选框,当选中该复选框时,我想将 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);
        }
    });

关于java - 如何使用 Java Swing 取消选择和撤消复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28268465/

相关文章:

java - 初始化后如何更改JTable?

java - java 对象数组

java - 流分组By : reducing to first element of list

java - Cassandra : How updates are handled if it happens before commitlog is flushed to Memtable

java - 有没有办法将带有子字符串的 JTextField 拆分为 double ?

java - Jtable/JScrollPane 不会刷新(更新数据)

java - Hibernate "failed to lazily initialize a collection"运行时错误

java - JScrollBar 什么都不做

java - 如何在不支持 GUI 的 headless Linux 上运行 Java GUI 应用程序?

java - 如何在点击两次后禁用 JButton?