Skip to content

Java Swing တွင် JCheckBox အသုံးပြုခြင်း

Java Swing မှာ JCheckBox ဆိုတာဟာ User တွေဆီကနေ ရွေးချယ်စရာ (option) တွေကို ရွေးချယ်ခွင့်ပေးဖို့ အသုံးပြုတဲ့ component တစ်ခု ဖြစ်ပါတယ်။ JCheckBox ကို အသုံးပြုပြီး ရိုးရှင်းတဲ့ checkbox တွေကို ဖန်တီးနိုင်သလို၊ ရွေးချယ်ထားတဲ့ option တွေကို ဖတ်တာ၊ ပြုပြင်တာနဲ့ event handling တွေကိုလည်း လုပ်ဆောင်နိုင်ပါတယ်။ JCheckBox တွေဟာ တစ်ခုထက်ပိုတဲ့ option တွေကို တစ်ပြိုင်နက်တည်း ရွေးချယ်နိုင်အောင် ခွင့်ပြုထားတာက သူ့ရဲ့ ထူးခြားချက်ပါပဲ။ အောက်မှာ JCheckBox ကို အသုံးပြုပြီး ရိုးရှင်းတဲ့ example တစ်ခုကို ဖော်ပြထားပါတယ်။

java
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class CheckBoxExample {
    public static void main(String[] args) {
        // JFrame ဖြင့် window တစ်ခုကို ဖန်တီးပါ။
        JFrame frame = new JFrame("JCheckBox Example");

        // JCheckBox ဖြင့် checkbox များကို ဖန်တီးပါ။
        JCheckBox checkBox1 = new JCheckBox("Option 1");
        JCheckBox checkBox2 = new JCheckBox("Option 2");
        JCheckBox checkBox3 = new JCheckBox("Option 3");

        // JButton ဖြင့် Button တစ်ခုကို ဖန်တီးပါ။
        JButton button = new JButton("Submit");

        // Button ကို နှိပ်သောအခါ လုပ်ဆောင်မည့် event listener ကို ထည့်ပါ။
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                // Checkbox များ၏ status ကို စစ်ဆေးပြီး message dialog ဖြင့် ပြပါ။
                StringBuilder selectedOptions = new StringBuilder("Selected Options:\n");
                if (checkBox1.isSelected()) {
                    selectedOptions.append("- Option 1\n");
                }
                if (checkBox2.isSelected()) {
                    selectedOptions.append("- Option 2\n");
                }
                if (checkBox3.isSelected()) {
                    selectedOptions.append("- Option 3\n");
                }
                JOptionPane.showMessageDialog(frame, selectedOptions.toString());
            }
        });

        // JPanel ဖြင့် components များကို စီစဉ်ပါ။
        JPanel panel = new JPanel();
        panel.add(checkBox1);
        panel.add(checkBox2);
        panel.add(checkBox3);
        panel.add(button);

        // Panel ကို frame ထဲသို့ ထည့်ပါ။
        frame.add(panel);

        // Window ကို close လုပ်သောအခါ program ကို အလိုအလျောက် ရပ်ပါ။
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Window ၏ size ကို သတ်မှတ်ပါ။
        frame.setSize(400, 200);

        // Window ကို မြင်နိုင်အောင် ပြပါ။
        frame.setVisible(true);
    }
}

Code ရှင်းလင်းချက်

ဒီ code exampleထဲက အဓိကကျတဲ့ အစိတ်အပိုင်းတွေကို တစ်ခုချင်းစီ ထပ်ပြီး ရှင်းပြပါမယ်။

  1. JCheckBox

    JCheckBox ဟာ အသုံးပြုသူဆီကနေ ရွေးချယ်စရာ option တွေကို ရယူဖို့အတွက် အသုံးပြုတဲ့ component ပါ။ new JCheckBox("Option 1") လိုမျိုး ဖန်တီးလိုက်ရင် "Option 1" လို့ စာသားပါတဲ့ checkbox တစ်ခု ပေါ်လာမှာပါ။ ဒီexampleမှာ ရွေးချယ်စရာ option သုံးခုကို JCheckBox သုံးခုနဲ့ ဖန်တီးထားပါတယ်။

    java
    JCheckBox checkBox1 = new JCheckBox("Option 1");
    JCheckBox checkBox2 = new JCheckBox("Option 2");
    JCheckBox checkBox3 = new JCheckBox("Option 3");

JCheckBox Example

  1. Event Handling with ActionListener

    Submit Button ကို နှိပ်လိုက်တဲ့အခါ JCheckBox တွေရဲ့ status (ရွေးချယ်ထားလား၊ မရွေးထားဘူးလား) ကို စစ်ဆေးပြီး message dialog နဲ့ ပြသဖို့အတွက် ActionListener interface ကို အသုံးပြုထားပါတယ်။

    java
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            StringBuilder selectedOptions = new StringBuilder("Selected Options:\n");
            if (checkBox1.isSelected()) {
                selectedOptions.append("- Option 1\n");
            }
            if (checkBox2.isSelected()) {
                selectedOptions.append("- Option 2\n");
            }
            if (checkBox3.isSelected()) {
                selectedOptions.append("- Option 3\n");
            }
            JOptionPane.showMessageDialog(frame, selectedOptions.toString());
        }
    });

JCheckBox Example

  • isSelected() Method:

    ဒီ method ကို JCheckBox object ပေါ်မှာ ခေါ်လိုက်ရင် checkbox ကို ရွေးချယ်ထားတယ်ဆိုရင် true ကို ပြန်ပေးပြီး၊ မရွေးချယ်ထားဘူးဆိုရင် false ကို ပြန်ပေး ပါတယ်။ ဒီ boolean value ကို အခြေခံပြီး ဘယ် option တွေ ရွေးထားတယ်ဆိုတာ သိနိုင်ပါတယ်။

  • StringBuilder:

    ဒီ StringBuilder class ကို String တွေကို ထပ်ခါတလဲလဲ ပေါင်းစပ်တဲ့အခါ အသုံးပြုပါတယ်။ String တွေလို တစ်ခုချင်းစီ အသစ်မဖန်တီးဘဲ လက်ရှိ String ကိုပဲ ပြုပြင်တာကြောင့် Memory နဲ့ Performance ပိုကောင်း ပါတယ်။

  • JOptionPane.showMessageDialog:

    ဒါကတော့ Notification (message) ပါတဲ့ dialog box လေးတစ်ခုကို ပြသဖို့ အသုံးပြုတဲ့ method ပါ။

JCheckBox ၏ အခြား Features များ

JCheckBox သည် user မှ option များကို ရွေးချယ်ရန် အသုံးပြုရုံသာမက၊ အောက်ပါ features များကိုလည်း support ပေးပါသည်။

  1. Default Selection

    JCheckBox ကို default အနေဖြင့် ရွေးချယ်ထားရန် သတ်မှတ်နိုင်ပါသည်။

    java
    checkBox1.setSelected(true); // Option 1 ကို default အနေဖြင့် ရွေးချယ်ထားပါ။
  2. Event Handling for CheckBox

    JCheckBox ကို ရွေးချယ်သောအခါ လုပ်ဆောင်မည့် event ကို ကိုင်တွယ်နိုင်ပါသည်။

    java
    checkBox1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if (checkBox1.isSelected()) {
                System.out.println("Option 1 is selected.");
            } else {
                System.out.println("Option 1 is deselected.");
            }
        }
    });

TIP

မှတ်ချက်။ JCheckBox မှာ ItemListener လည်း ရှိပါတယ်။ ActionListener က checkbox ရဲ့ အခြေအနေ ပြောင်းလဲတိုင်း အလုပ်လုပ်ပြီး၊ ItemListener ကတော့ ItemEvent.SELECTED (ရွေးချယ်ခြင်း) သို့မဟုတ် ItemEvent.DESELECTED (ရွေးချယ်မှုဖျက်ခြင်း) စတဲ့ Item State Change တွေကို တိုက်ရိုက်သိနိုင်ပါတယ်။ အခြေအနေအလိုက် နှစ်ခုလုံးကို အသုံးပြုနိုင်ပါတယ်။