Free Data Structures and Algorithms Course









Subscribe below and get all best seller courses for free !!!










OR



Subscribe to all free courses

How to demonstrate working of CheckBox and adding ActionListener to it in Java's Swing Framework ?.

Program to demonstrate working of CheckBox and adding ActionListener to it in Java's Swing Framework.


package com.hubberspot.swing;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class CheckBoxDemo {

 public static void main(String[] args) {

  // 1. Create a simple frame by creating an object 
  // of JFrame. 
  JFrame frame = new JFrame();

  // 2. Give the frame a title "CheckBox Demo" by calling 
  // setTitle method on frame object
  frame.setTitle("CheckBox Demo");

  // 3. Give frame a size in pixels as say 300,300 
  frame.setSize(300, 200);

  // 4. set a operation when a user close the frame, here it 
  // closes the frame and exits the application
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  // 5. Create a checkbox by creating an Object of class 
  // JCheckBox. 
  final JCheckBox checkBox1 = new JCheckBox();

  // 6. set the text of checkbox1 as "check box 1"
  checkBox1.setText("check box 1");

  // 7. Create another checkbox by creating an Object of class 
  // JCheckBox.
  final JCheckBox checkBox2 = new JCheckBox();

  // 8. set the text of checkBox2 as "check box 2"
  checkBox2.setText("check box 2");

  // 9. Make it selected that is (checked)
  checkBox2.setSelected(true);

  // 10. Create a label by creating an Object of class 
  // JLabel
  final JLabel label = new JLabel();

  // 11. set the text of label as "check box 2 selected"
  // as initially we have made checkbox2 selected
  label.setText("check box 2 selected");

  // 12. We add an ActionListener to the checkbox1
  // which will listen about the action user performs
  // over the checkbox1. Here user only checks and unchecks
  // it. As soon as user checks checkbox1 the text of the 
  // label changes from check box 2 selected to check box 1 selected
  // and checkbox2 is unchecked
  checkBox1.addActionListener(new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent event) {

    JCheckBox checkBox = (JCheckBox) event.getSource();
    if (checkBox.isSelected()) {
     checkBox.setSelected(true);
     checkBox2.setSelected(false);
     label.setText("check box 1 selected");
    }

   }
  });


  // 13. We add an ActionListener to the checkbox2
  // which will listen about the action user performs
  // over the checkbox2. Here user only checks and unchecks
  // it. As soon as user checks checkbox2 the text of the 
  // label changes from check box 1 selected to check box 2 selected
  // and checkbox1 is unchecked

  checkBox2.addActionListener(new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent event) {

    JCheckBox checkBox = (JCheckBox) event.getSource();
    if (checkBox.isSelected()) {
     checkBox.setSelected(true);
     checkBox1.setSelected(false);
     label.setText("check box 2 selected");
    }

   }
  });


  // 14. for adding all these swing components to frame
  // we first get the content pane which returns a 
  // Container
  Container container = frame.getContentPane();

  // 15. We create a Layout for Swing Components
  // here we are using FlowLayout with value as "center'
  // it will make the swing components float to center
  FlowLayout layout = new FlowLayout(FlowLayout.CENTER);

  // 16. We set the layout for container
  container.setLayout(layout);

  // 17. We add the checkboxes and label to it
  container.add(checkBox1);
  container.add(checkBox2);
  container.add(label);

  // 18. after adding checkboxes and label, we make it 
  // visible on the frame by calling the method as 
  // setVisible and passing value as true.
  frame.setVisible(true);


 }

}




Output of the program :



















 
© 2021 Learn Java by Examples Template by Hubberspot