Introduction to Checkboxes: Multi-Selection UI Control in Java
Introduction to Checkboxes: Multi-Selection UI Control in Java
Introduction to Checkboxes
Java में Checkbox एक बहुत ही useful component है जो user को एक से ज़्यादा options चुनने की सुविधा देता है। ये component तब use होता है जब हमें multiple selection allow करनी होती है। जैसे – कोई form जिसमें hobbies, interests या subjects select करने हों, वहाँ Checkboxes सबसे perfect UI control होते हैं।
Checkbox component को AWT (Abstract Window Toolkit) और Swing दोनों में use किया जा सकता है। AWT में इसे Checkbox class से represent किया जाता है जबकि Swing में इसका advanced version JCheckBox होता है।
Features of Checkbox
Checkbox UI control को समझने के लिए इसके कुछ important features जानना जरूरी है:
- Multiple selection की सुविधा देता है।
- Each Checkbox independent होता है — user किसी भी Checkbox को select या deselect कर सकता है।
- Lightweight और fast component होता है।
- AWT में native UI elements का use करता है, जबकि Swing में pluggable look and feel होता है।
- Event handling के जरिए program को user के selection के बारे में notify करता है।
Checkbox Class in AWT
Java AWT में Checkbox class का use checkboxes create करने के लिए किया जाता है। ये class java.awt package में होती है और इसका basic syntax नीचे दिया गया है:
Checkbox cb = new Checkbox("Option Name");
इस constructor में string parameter Checkbox के label के लिए होता है जो user को दिखाई देता है। Checkbox को frame में add करके GUI में दिखाया जाता है।
Constructors of Checkbox
Checkbox class के कुछ commonly used constructors नीचे दिए गए हैं:
Checkbox()– creates a checkbox with no label.Checkbox(String label)– creates a checkbox with a label.Checkbox(String label, boolean state)– creates a checkbox with a label and a default state (true/false).Checkbox(String label, boolean state, CheckboxGroup group)– creates a checkbox in a group (used for radio-like behavior).
Example: Simple Checkbox in Java AWT
import java.awt.*;
public class CheckboxExample {
public static void main(String args[]){
Frame f = new Frame("Checkbox Example");
Checkbox c1 = new Checkbox("C++");
c1.setBounds(100,100,50,50);
Checkbox c2 = new Checkbox("Java", true);
c2.setBounds(100,150,50,50);
f.add(c1);
f.add(c2);
f.setSize(400,400);
f.setLayout(null);
f.setVisible(true);
}
}
ऊपर दिए गए code में दो checkboxes बनाए गए हैं — “C++” और “Java”। यहाँ “Java” default रूप से selected रहेगा क्योंकि उसका state true है।
Event Handling in Checkbox
जब user किसी Checkbox को select या deselect करता है, तो एक event generate होता है। इस event को handle करने के लिए ItemListener interface का use किया जाता है।
Steps to Handle Checkbox Events
- Checkbox object बनाओ।
addItemListener()method के जरिए listener register करो।itemStateChanged(ItemEvent e)method override करो ताकि event handle किया जा सके।
Example: Checkbox Event Handling
import java.awt.*;
import java.awt.event.*;
public class CheckboxEventExample extends Frame implements ItemListener {
Checkbox c1, c2;
Label l;
CheckboxEventExample(){
c1 = new Checkbox("Java");
c2 = new Checkbox("Python");
c1.setBounds(100,100,80,50);
c2.setBounds(100,150,80,50);
l = new Label("Select a language");
l.setBounds(100,200,200,50);
add(c1); add(c2); add(l);
c1.addItemListener(this);
c2.addItemListener(this);
setSize(400,400);
setLayout(null);
setVisible(true);
}
public void itemStateChanged(ItemEvent e) {
String msg = "";
if(c1.getState()) msg += "Java ";
if(c2.getState()) msg += "Python ";
l.setText("Selected: " + msg);
}
public static void main(String args[]){
new CheckboxEventExample();
}
}
इस program में जब भी user किसी Checkbox को select या deselect करता है, label पर selected items का नाम show होता है।
CheckboxGroup in Java
अगर आप चाहते हैं कि user केवल एक option select करे (radio button behavior), तो CheckboxGroup class का use किया जाता है। इस group में सभी checkboxes mutually exclusive हो जाते हैं।
Example: CheckboxGroup Implementation
import java.awt.*;
public class CheckboxGroupExample {
CheckboxGroup cg;
Frame f;
CheckboxGroupExample(){
f = new Frame("CheckboxGroup Example");
cg = new CheckboxGroup();
Checkbox c1 = new Checkbox("Male", cg, false);
Checkbox c2 = new Checkbox("Female", cg, false);
c1.setBounds(100,100,80,50);
c2.setBounds(100,150,80,50);
f.add(c1);
f.add(c2);
f.setSize(400,400);
f.setLayout(null);
f.setVisible(true);
}
public static void main(String args[]){
new CheckboxGroupExample();
}
}
इस example में, “Male” और “Female” दो checkboxes एक group में रखे गए हैं। अब user केवल एक option select कर सकता है।
Important Methods of Checkbox Class
नीचे Checkbox class के कुछ commonly used methods दिए गए हैं:
| Method | Description |
|---|---|
getLabel() | Checkbox का label return करता है। |
setLabel(String) | Checkbox का label set करता है। |
getState() | True या False return करता है — checkbox selected है या नहीं। |
setState(boolean) | Checkbox का state set करता है। |
addItemListener(ItemListener) | Event listener जोड़ता है ताकि item events handle किए जा सकें। |
JCheckBox in Swing
JCheckBox Swing का advanced version है जो Checkbox से ज़्यादा flexible और modern UI प्रदान करता है। इसका package javax.swing है। ये lightweight component होता है और platform independent look & feel देता है।
Syntax of JCheckBox
JCheckBox cb = new JCheckBox("Option Name");
Example: JCheckBox Implementation
import javax.swing.*;
import java.awt.event.*;
public class JCheckBoxExample {
public static void main(String[] args) {
JFrame f = new JFrame("JCheckBox Example");
JCheckBox c1 = new JCheckBox("Java");
c1.setBounds(100,100,80,50);
JCheckBox c2 = new JCheckBox("Python", true);
c2.setBounds(100,150,100,50);
JButton b = new JButton("Show");
b.setBounds(100,220,80,30);
JLabel l = new JLabel();
l.setBounds(100,270,200,30);
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String msg = "";
if(c1.isSelected()) msg += "Java ";
if(c2.isSelected()) msg += "Python ";
l.setText("Selected: " + msg);
}
});
f.add(c1); f.add(c2); f.add(b); f.add(l);
f.setSize(400,400);
f.setLayout(null);
f.setVisible(true);
}
}
यह example दिखाता है कि कैसे Swing में JCheckBox का use करके user selections को handle किया जाता है।
Difference Between Checkbox and JCheckBox
| Feature | Checkbox (AWT) | JCheckBox (Swing) |
|---|---|---|
| Package | java.awt | javax.swing |
| UI Type | Heavyweight | Lightweight |
| Look & Feel | Platform-dependent | Pluggable (Customizable) |
| Event Handling | Uses ItemListener | Uses ActionListener |
| Flexibility | Limited | More flexible and modern |
Use Cases of Checkbox
Checkbox का use कई practical situations में किया जाता है:
- User registration forms में — hobbies, interests choose करने के लिए।
- Software settings में — multiple features enable/disable करने के लिए।
- Exam applications में — subjects या options select करने के लिए।
- Surveys और feedback forms में — multiple answers allow करने के लिए।
Advantages of Checkbox
- Easy to implement और user-friendly होता है।
- Multiple selection की flexibility देता है।
- GUI को interactive बनाता है।
- Event handling से dynamic behavior possible होता है।
Important Notes for Exams
- Class Name: Checkbox (AWT), JCheckBox (Swing)
- Package: java.awt और javax.swing
- Used for: Multiple option selection
- Listener Interface: ItemListener या ActionListener
- Method: getState(), setState(), isSelected(), setSelected()
- Group Behavior: CheckboxGroup (AWT only)
- Look & Feel: JCheckBox customizable होता है
Summary
Checkbox Java GUI programming का एक essential part है जो user interaction को आसान बनाता है। चाहे AWT का Checkbox हो या Swing का JCheckBox — दोनों का main purpose user को multiple choices select करने की सुविधा देना है। Event handling और proper grouping से ये component बहुत interactive और exam-oriented topic बन जाता है।