import java.awt.Checkbox; import java.awt.EventQueue; import java.awt.FlowLayout; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; public class TestCheckbox extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { TestCheckbox frame = new TestCheckbox(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public TestCheckbox() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); //动态生成Checkbox for (int i = 0; i < 3; i++) { Checkbox cb = createCheckbox("选项"+(i+1)); add(cb); } } //这个方法用于动态的生成Checkbox private Checkbox createCheckbox(String label) { Checkbox cb = new Checkbox(label); //给Checkbox对象注册事件监听,也可以去监听其它事件,比如鼠标事件什么的 cb.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { Checkbox cb = (Checkbox)e.getSource(); System.out.println("Checkbox "+cb.getLabel()+"的选择状态:"+cb.getState()); } }); return cb; } }