日期:2014-05-20 浏览次数:20896 次
import javax.swing.JFrame;
import javax.swing.JCheckBox;
import java.awt.event.ActionEvent;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import java.awt.event.ActionListener;
public class JCheckBoxExample {
    public static void main(final String[] args) {
        java.awt.EventQueue.invokeLater(new Runnable(){
                @Override public void run(){
                    final JFrame frame = new JFrame("JCheckBox Exmaple");
                    final JCheckBox check = new JCheckBox("Switch");
                    check.addActionListener(new ActionListener(){
                            public void actionPerformed(ActionEvent e){
                                System.out.println(check.isSelected());
                            }
                        });
                    check.addItemListener(new ItemListener(){
                            public void itemStateChanged(ItemEvent e){
                                System.out.println(e.getStateChange() == ItemEvent.SELECTED ? "Selected" : "Deselected");
                            }
                        });
                    frame.add(check);
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setLocationRelativeTo(null);
                    frame.pack();
                    frame.setVisible(true);
                }
            });
    }
}
------解决方案--------------------
好像是isSelectedItem()吧
------解决方案--------------------
监听JcheckBox的改变事件,记录一个boolean变量,随着改变而切换其值,从而保证与是否选中同步