Feedback Form

Checkboxes in Java (AWT & Swing): JCheckBox Tutorial with Code

Checkboxes in Java (AWT & Swing): JCheckBox Tutorial with Code

Checkboxes in Java क्या होते हैं?

Java में Checkbox एक ऐसा GUI (Graphical User Interface) component है जो user को multiple options में से एक या एक से ज़्यादा विकल्प select करने की सुविधा देता है। अगर simple शब्दों में कहें तो Checkbox वो box होता है जिसे हम click करके "tick" या "untick" कर सकते हैं।

Java में Checkbox दो तरीकों से बनाए जा सकते हैं — AWT (Abstract Window Toolkit) और Swing का use करके। Swing में Checkbox को JCheckBox कहते हैं जबकि AWT में सिर्फ Checkbox class होती है।

Checkbox in AWT

AWT Checkbox एक component है जो java.awt package में available होता है। यह basic GUI बनाने के लिए उपयोग होता है और इसकी appearance system-dependent होती है यानी हर Operating System में थोड़ा अलग दिखता है।

AWT Checkbox बनाने का Syntax

Checkbox cb = new Checkbox("I Agree");

AWT Checkbox Example Code

import java.awt.*; import java.awt.event.*; public class AWTCheckboxExample extends Frame implements ItemListener { Checkbox cb1, cb2; Label label; AWTCheckboxExample() { label = new Label("Select your subjects:"); label.setBounds(100, 50, 200, 30); cb1 = new Checkbox("Java"); cb1.setBounds(100, 100, 100, 30); cb2 = new Checkbox("Python"); cb2.setBounds(100, 150, 100, 30); cb1.addItemListener(this); cb2.addItemListener(this); add(label); add(cb1); add(cb2); setSize(400, 300); setLayout(null); setVisible(true); } public void itemStateChanged(ItemEvent e) { String msg = ""; if (cb1.getState()) msg += "Java "; if (cb2.getState()) msg += "Python "; label.setText("Selected: " + msg); } public static void main(String[] args) { new AWTCheckboxExample(); } }

ऊपर के code में दो checkboxes “Java” और “Python” create किए गए हैं। जब user किसी checkbox को select करता है, तो ItemListener event trigger होता है जो label में selected subjects दिखाता है।

Important Methods of AWT Checkbox

  • getState() – यह method true या false return करता है, जिससे पता चलता है कि checkbox selected है या नहीं।
  • setState(boolean state) – Checkbox को programmatically select या deselect करने के लिए use होता है।
  • getLabel() – Checkbox के text को return करता है।
  • setLabel(String text) – Checkbox के label को change करता है।

Checkbox in Swing (JCheckBox)

JCheckBox Swing का advanced version है जो javax.swing package में available है। यह platform-independent और lightweight component है। इसका look और feel customizable होता है और modern GUI design के लिए सबसे ज़्यादा use किया जाता है।

JCheckBox बनाने का Syntax

JCheckBox cb = new JCheckBox("I Agree");

JCheckBox Example Code

import javax.swing.*; import java.awt.event.*; public class JCheckBoxExample extends JFrame implements ActionListener { JCheckBox cbJava, cbPython; JButton btn; JCheckBoxExample() { cbJava = new JCheckBox("Java"); cbJava.setBounds(100, 100, 100, 30); cbPython = new JCheckBox("Python"); cbPython.setBounds(100, 150, 100, 30); btn = new JButton("Show Selected"); btn.setBounds(100, 200, 150, 30); btn.addActionListener(this); add(cbJava); add(cbPython); add(btn); setSize(400, 400); setLayout(null); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e) { String msg = ""; if (cbJava.isSelected()) msg += "Java "; if (cbPython.isSelected()) msg += "Python "; JOptionPane.showMessageDialog(this, "Selected: " + msg); } public static void main(String[] args) { new JCheckBoxExample(); } }

ऊपर के example में दो JCheckBox और एक Button create किया गया है। जब user “Show Selected” पर click करता है, तो selected checkboxes का नाम dialog box में show होता है।

Important Methods of JCheckBox

  • isSelected() – यह check करता है कि checkbox select है या नहीं।
  • setSelected(boolean state) – Checkbox को programmatically select या deselect करने के लिए use होता है।
  • getText() – Checkbox का label return करता है।
  • setText(String text) – Checkbox का label change करता है।
  • addActionListener() – किसी event को handle करने के लिए listener जोड़ने के लिए use होता है।

AWT Checkbox vs Swing JCheckBox

Feature AWT Checkbox Swing JCheckBox
Package java.awt javax.swing
Type Heavyweight Lightweight
Platform Dependency System dependent look Platform independent look
Customization Limited customization Highly customizable
Modern UI Compatibility Less suitable More suitable

Checkbox Event Handling

जब user किसी checkbox को select या deselect करता है, तो Java में event trigger होता है। इस event को handle करने के लिए दो listener commonly use किए जाते हैं:

  • ItemListener (in AWT) – Checkbox की state change होने पर event trigger करता है।
  • ActionListener (in Swing) – जब JCheckBox click होता है, तब event generate होता है।

Event Handling Example (Swing)

cb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (cb.isSelected()) { System.out.println("Checkbox Selected"); } else { System.out.println("Checkbox Deselected"); } } });

इस example में जब checkbox select या deselect होता है, तो console में message print होता है।

Advantages of JCheckBox

  • Lightweight और fast performance देता है।
  • Platform-independent होता है।
  • Modern GUI applications में आसानी से integrate किया जा सकता है।
  • Custom icons, colors, और fonts apply किए जा सकते हैं।
  • Multiple selection support करता है।

Real-Life Usage of JCheckBox

  • Form validation – Terms & Conditions agree करने के लिए।
  • Survey forms – Multiple options choose करने के लिए।
  • Software settings – Enable या disable features के लिए।
  • Login UI – “Remember me” feature के लिए।

Key Points to Remember

  • AWT Checkbox basic use के लिए है, जबकि Swing JCheckBox advanced use के लिए।
  • JCheckBox को customize करना आसान है।
  • Event handling के लिए ActionListener या ItemListener use किया जा सकता है।
  • Multiple JCheckBoxes को group करने के लिए ButtonGroup का use नहीं किया जाता (ये RadioButton के लिए होता है)।

Quick Notes (Exam Point of View)

  • Package: AWT → java.awt | Swing → javax.swing
  • Class: AWT → Checkbox | Swing → JCheckBox
  • Events: ItemEvent (AWT), ActionEvent (Swing)
  • Listeners: ItemListener, ActionListener
  • Methods: isSelected(), setSelected(), getText(), setText()
  • Use Case: Multiple options select करने के लिए

Mini Summary

Java में Checkbox एक ऐसा control है जो user interaction के लिए सबसे common GUI element है। AWT का Checkbox simple और पुराने application में use होता है जबकि JCheckBox modern Swing-based GUI के लिए best choice है। Exam में अक्सर प्रश्न पूछा जाता है — “AWT Checkbox और Swing JCheckBox में अंतर बताइए” या “JCheckBox का working code लिखिए।”