我做了个简单的界面,上面有几个JCheckBox和2个JButton
我想给做成点一个按钮就把JCheckBox全选的,然后按另一个的时候就全都不选的。
请教各位!!!麻烦大家帮我看看,最好给出几行按钮动作的关键语句。谢谢!!!!!  

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【HoneyChenyu】截止到2008-07-03 09:33:04的历史汇总数据(不包括此帖):
    发帖的总数量:5                        发帖的总分数:110                      
    结贴的总数量:5                        结贴的总分数:110                      
    无满意结贴数:2                        无满意结贴分:70                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:40.00 %               无满意结分率:63.64 %                  
    敬礼!
      

  2.   

    给两个按钮添加两个事件监听器
    然后在监听函数中设置JCheckBox的选中状态
    这里有详细的方法是用说明,你可以借鉴一下
    http://java.sun.com/docs/books/tutorial/uiswing/components/button.html
      

  3.   

    全部选中的按钮的事件监听器可以如下写
    public void actionPerformed(ActionEvent e) {
        checkbox1.setSelected(true); 
        checkbox2.setSelected(true);
        ...  }
    同理全部取消选中的事件监听器代码如下
    public void actionPerformed(ActionEvent e) {
        checkbox1.setSelected(false); 
        checkbox2.setSelected(false);
        ...  }
      

  4.   

    完整的发不上来,我就发主要的了
        private static final int NUM = 10;    private JCheckBox[] items = new JCheckBox[NUM];
        
        private static final String[] ITEMS_TITLE = {"RxPkt", "TxPkt", "RxMCast", "TxMCast", "RxBCast", "TxBCast", "RxByte", "TxByte", "RxDropped",
                        "TxDropped"};
                        
        private JButton btnSelectAll = new JButton("全选");    private JButton btnSelectInverse = new JButton("反选");    private JButton btnClearSelect = new JButton("全不选");    private JButton btnSubmit = new JButton("确定");
                        
                        
                        
            for(int i = 0; i < NUM; i++)
            {
                items[i] = new JCheckBox(ITEMS_TITLE[i]);
                
                //......            // 监听JCheckBox的状态切换
                // 此处必须为ItemListener,因为ActionListener只响应用户激发的状态改变,而不会响应程序自动激发的状态改变。
                items[i].addItemListener(new ItemListener()
                {
                    public void itemStateChanged(ItemEvent e)
                    {
                        checkSelect(e);
                    }
                });
            }
            
            // 全选
            btnSelectAll.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    selectAll();
                }
            });        // 反选
            btnSelectInverse.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    selectInverse();
                }
            });
            
            // 全不选
            btnClearSelect.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    clearSelect();
                }
            });
        /**
         * 选中全部JCheckBox
         */
        public void selectAll()
        {
            for(int i = 0; i < NUM; i++)
            {
                items[i].setSelected(true);
            }
        }    /**
         * 反向选择JCheckBox(只选择原来未选择的)
         */
        public void selectInverse()
        {
            for(int i = 0; i < NUM; i++)
            {
                items[i].setSelected(!items[i].isSelected());
            }
        }
        
        /**
         * 全部不选
         */
        public void clearSelect()
        {
            for(int i = 0; i < NUM; i++)
            {
                items[i].setSelected(false);
            }
        }    /**
         * JCheckBox的ItemStateChanged事件需要执行的操作,选择时selectedNum++,取消选择时selectedNum--
         * 这样可以保证selectedNum的值永远等于当前选择的JCheckBox个数
         * ,最后只需判断selectedNum的值即可设置“确定”按钮的可用状态。
         * @param e ItemEvent JCheckBox状态切换事件
         */
        public void checkSelect(ItemEvent e)
        {
            if(((JCheckBox)e.getSource()).isSelected())
            {
                selectedNum++;
            }
            else
            {
                selectedNum--;
            }        btnSubmit.setEnabled(selectedNum > 0);
        }
      

  5.   

    http://java.sun.com/docs/books/tutorial/uiswing/components/button.html