本示例演示了创建JCheckBox组件的各种方法。在这里,您还可以看到用户单击复选框时如何处理事件。
package org.nhooo.example.swing; import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class CheckBoxDemoCreate extends JFrame { public CheckBoxDemoCreate() throws HeadlessException { initialize(); } private void initialize() { setSize(300, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new FlowLayout(FlowLayout.LEFT)); // 创建带有文本标签的复选框 JCheckBox checkBoxA = new JCheckBox("Selection A"); // 创建带有文本标签的复选框 a set the state into checked JCheckBox checkBoxB = new JCheckBox("Selection B", true); // 创建带有文本标签的复选框 and a default unselected image icon ImageIcon icon = new ImageIcon("ledred.png"); JCheckBox checkBoxC = new JCheckBox("Selection C", icon); // 添加动作侦听器以侦听单击并更改图像图标 // 分别 checkBoxC.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JCheckBox checkBox = (JCheckBox) e.getSource(); if (checkBox.isSelected()) { checkBox.setIcon(new ImageIcon("ledgreen.png")); // 在这里执行其他操作! } else { checkBox.setIcon(new ImageIcon("ledred.png")); // 在这里执行其他操作! } } }); getContentPane().add(checkBoxA); getContentPane().add(checkBoxB); getContentPane().add(checkBoxC); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new CheckBoxDemoCreate().setVisible(true); } }); } }