继承体系

属性
- 标识对flat属性的更改。

- flat
JCheckBox是Swing中的复选框。 - 复选框
可以同时存在多个这样的控件,它们可以有多个处于被选中状态。对于每一个复选框而言,它只有选中和未选中两种状态。
JCheckBox的常用方法如下图所示:
构造方法
JCheckBox()
创建一个最初未选中的复选框按钮,没有文本,也没有图标。
JCheckBox(Action a)
创建一个复选框,属性取自提供的Action。
JCheckBox(Icon icon)
使用图标创建最初未选中的复选框。
JCheckBox(Icon icon, boolean selected)
创建一个带有图标的复选框,并指定它是否最初被选中。
JCheckBox(String text)
使用文本创建最初未选中的复选框。
JCheckBox(String text, boolean selected)
创建一个包含文本的复选框,并指定它是否最初被选中。
JCheckBox(String text, Icon icon)
使用指定的文本和图标创建最初未选中的复选框。
JCheckBox(String text, Icon icon, boolean selected)
创建一个带有文本和图标的复选框,并指定它是否最初被选中
API
- AccessibleContext getAccessibleContext()
获取与此JCheckBox关联的AccessibleContext。
2
String getUIClassID()
返回一个字符串,该字符串指定呈现此组件的L&F类的名称。
3
boolean isBorderPaintedFlat()
获取borderPaintedFlat属性的值。
4
protected String paramString()
返回此JCheckBox的字符串表示形式。
5
void setBorderPaintedFlat(boolean b)
设置borderPaintedFlat属性,该属性提供有关复选框边框外观的外观提示。
6
void updateUI()
将UI属性重置为当前外观的值
实例
package com.company;
import java.util.ArrayList;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* @author JavaEdge
*/
public class JCheckBoxExample {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
public JCheckBoxExample() {
prepareGUI();
}
public static void main(String[] args) {
JCheckBoxExample swingControlDemo = new JCheckBoxExample();
swingControlDemo.showCheckBoxDemo();
}
private void prepareGUI() {
mainFrame = new JFrame("JCheckBox实例");
mainFrame.setSize(400, 400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
});
headerLabel = new JLabel("", JLabel.CENTER);
statusLabel = new JLabel("", JLabel.CENTER);
statusLabel.setSize(350, 100);
controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showCheckBoxDemo() {
headerLabel.setText("Control in action: CheckBox");
final JCheckBox chkApple = new JCheckBox("Java");
final JCheckBox chkMango = new JCheckBox("Go");
final JCheckBox chkPeer = new JCheckBox("数据库");
chkApple.setMnemonic(KeyEvent.VK_C);
chkMango.setMnemonic(KeyEvent.VK_M);
chkPeer.setMnemonic(KeyEvent.VK_P);
chkApple.addItemListener(e -> statusLabel.setText("Java Checkbox: " + (e.getStateChange() == 1 ? "checked" : "unchecked")));
chkMango.addItemListener(e -> statusLabel.setText("Go Checkbox: " + (e.getStateChange() == 1 ? "checked" : "unchecked")));
chkPeer.addItemListener(e -> statusLabel.setText("数据库 Checkbox: " + (e.getStateChange() == 1 ? "checked" : "unchecked")));
controlPanel.add(chkApple);
controlPanel.add(chkMango);
controlPanel.add(chkPeer);
mainFrame.setVisible(true);
}
}
- 效果

















