本示例演示了创建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);
}
});
}
}