Swing JCheckBox Class



The class JCheckBox is an implementation of a check box - an item that can be selected or deselected, and which displays its state to the user.

Class declaration

Following is the declaration for javax.swing.JCheckBox class:

public class JCheckBox
   extends JToggleButton
      implements Accessible


Following are the fields for javax.swing.JCheckBox class:

  • static String BORDER_PAINTED_FLAT_CHANGED_PROPERTY -- Identifies a change to the flat property.

Class constructors

S.N.Constructor & Description
Creates an initially unselected check box button with no text, no icon.
2JCheckBox(Action a)
Creates a check box where properties are taken from the Action supplied.
3JCheckBox(Icon icon)
Creates an initially unselected check box with an icon.
4JCheckBox(Icon icon, boolean selected)
Creates a check box with an icon and specifies whether or not it is initially selected.
5JCheckBox(String text)
Creates an initially unselected check box with text.
6JCheckBox(String text, boolean selected)
Creates a check box with text and specifies whether or not it is initially selected.
7JCheckBox(String text, Icon icon)
Creates an initially unselected check box with the specified text and icon.
8JCheckBox(String text, Icon icon, boolean selected)
Creates a check box with text and icon, and specifies whether or not it is initially selected.

Class methods

S.N.Method & Description
1AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this JCheckBox.
2String getUIClassID()
Returns a string that specifies the name of the L&F class that renders this component.
3boolean isBorderPaintedFlat()
Gets the value of the borderPaintedFlat property.
4protected String paramString()
Returns a string representation of this JCheckBox.
5void setBorderPaintedFlat(boolean b)
Sets the borderPaintedFlat property, which gives a hint to the look and feel as to the appearance of the check box border.
6void updateUI()
Resets the UI property to a value from the current look and feel.

Methods inherited

This class inherits methods from the following classes:

  • javax.swing.AbstractButton

  • javax.swing.JToggleButton

  • javax.swing.JComponent

  • java.awt.Container

  • java.awt.Component

  • java.lang.Object

JCheckBox Example

Create the following java program using any editor of your choice in say D:/ > SWING > com > tutorialspoint > gui >

package com.tutorialspoint.gui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SwingControlDemo {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public SwingControlDemo(){

   public static void main(String[] args){
      SwingControlDemo  swingControlDemo = new SwingControlDemo();      

   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing Examples");
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
      headerLabel = new JLabel("", JLabel.CENTER);        
      statusLabel = new JLabel("",JLabel.CENTER);    


      controlPanel = new JPanel();
      controlPanel.setLayout(new FlowLayout());


   private void showCheckBoxDemo(){

      headerLabel.setText("Control in action: CheckBox"); 

      final JCheckBox chkApple = new JCheckBox("Apple");
      final JCheckBox chkMango = new JCheckBox("Mango");
      final JCheckBox chkPeer = new JCheckBox("Peer");


      chkApple.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {         
            statusLabel.setText("Apple Checkbox: " 
            + (e.getStateChange()==1?"checked":"unchecked"));

      chkMango.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {             
            statusLabel.setText("Mango Checkbox: " 
            + (e.getStateChange()==1?"checked":"unchecked")); 

      chkPeer.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {             
            statusLabel.setText("Peer Checkbox: " 
            + (e.getStateChange()==1?"checked":"unchecked"));



Compile the program using command prompt. Go to D:/ > SWING and type the following command.

D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java

If no error comes that means compilation is successful. Run the program using following command.

D:\SWING>java com.tutorialspoint.gui.SwingControlDemo

Verify the following output

Swing JCheckBox