Skip to content

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

Java Swing မှာ JRadioButton ဆိုတာဟာ User တွေဆီက ရွေးချယ်စရာများစွာထဲကနေ တစ်ခုတည်းကိုသာ ရွေးချယ်နိုင်အောင် ခွင့်ပြုဖို့ အသုံးပြုတဲ့ component တစ်ခု ဖြစ်ပါတယ်။ exampleအားဖြင့်၊ လူတစ်ယောက်ရဲ့ ကျား/မ ရွေးချယ်ခြင်း (Male/Female)၊ အဝတ်အစား အရွယ်အစား (S/M/L/XL) ရွေးချယ်ခြင်း စသည်တို့မှာ အသုံးပြုနိုင်ပါတယ်။ JRadioButton တွေကို တစ်ခုတည်းသာ ရွေးချယ်နိုင်အောင် လုပ်ဆောင်ဖို့အတွက် ButtonGroup နဲ့ တွဲဖက်ပြီး အသုံးပြုရပါတယ်။ အောက်မှာ JRadioButton ကို အသုံးပြုပြီး ရိုးရှင်းတဲ့ example တစ်ခုကို ဖော်ပြထားပါတယ်။

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

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

        // components များကို ဒေါင်လိုက် (vertical) စီစဉ်ရန် BoxLayout ကို အသုံးပြုပါ။
        // BoxLayout.Y_AXIS က component တွေကို ဒေါင်လိုက်ချပေးပါတယ်။
        frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));

        // 2. JRadioButton (ရွေးစရာခလုတ်) များကို ဖန်တီးပါ။
        JRadioButton maleRadioButton = new JRadioButton("ကျား");
        JRadioButton femaleRadioButton = new JRadioButton("မ");
        JRadioButton otherRadioButton = new JRadioButton("အခြား");

        // 3. ButtonGroup (ခလုတ်အုပ်စု) ဖြင့် radio button များကို စုစည်းပါ။
        // ButtonGroup ထဲသို့ ထည့်သွင်းထားသော radio button များထဲမှ တစ်ခုတည်းကိုသာ ရွေးချယ်နိုင်ပါမည်။
        ButtonGroup group = new ButtonGroup();
        group.add(maleRadioButton);   // ကျား radio button ကို group ထဲ ထည့်ပါ။
        group.add(femaleRadioButton); // မ radio button ကို group ထဲ ထည့်ပါ။
        group.add(otherRadioButton);  // အခြား radio button ကို group ထဲ ထည့်ပါ။

        // 4. Default အနေဖြင့် "ကျား" ကို ရွေးချယ်ထားပါ။ (Application စဖွင့်ချင်းမှာ ရွေးထားပြီးသား ဖြစ်စေရန်)
        maleRadioButton.setSelected(true);

        // 5. JButton (ခလုတ်) တစ်ခုကို "Submit" ဆိုတဲ့ စာသားနဲ့ ဖန်တီးပါ။
        JButton submitButton = new JButton("Submit");

        // 6. Submit Button ကို နှိပ်လိုက်တဲ့အခါ ဘာလုပ်မယ်ဆိုတာ သတ်မှတ်ခြင်း (Event Handling)
        submitButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String selectedOption = "ဘာမှ ရွေးချယ်မထားပါ"; // ရွေးချယ်မှု မရှိရင် ပြမယ့် စာသား
                if (maleRadioButton.isSelected()) {      // "ကျား" ကို ရွေးထားလား စစ်ဆေးခြင်း
                    selectedOption = "ကျား";
                } else if (femaleRadioButton.isSelected()) { // "မ" ကို ရွေးထားလား စစ်ဆေးခြင်း
                    selectedOption = "မ";
                } else if (otherRadioButton.isSelected()) {  // "အခြား" ကို ရွေးထားလား စစ်ဆေးခြင်း
                    selectedOption = "အခြား";
                }
                // ရွေးချယ်ထားတဲ့ option ကို message box နဲ့ ပြပါ။
                JOptionPane.showMessageDialog(frame, "သင်ရွေးချယ်ခဲ့တာက: " + selectedOption);
            }
        });

        // 7. JPanel (components များကို စီစဉ်ပေးမည့် container) တစ်ခု ဖန်တီးပါ။
        JPanel radioPanel = new JPanel(); // Radio Button တွေအတွက် panel သီးသန့်ထားပါ။
        radioPanel.add(maleRadioButton);
        radioPanel.add(femaleRadioButton);
        radioPanel.add(otherRadioButton);

        // 8. Panel နဲ့ Button ကို frame ရဲ့ content pane ထဲကို ထည့်သွင်းပါ။
        frame.add(radioPanel);   // radioPanel ကို ထည့်ပါ။
        frame.add(submitButton); // submitButton ကို ထည့်ပါ။

        // 9. Window ကို ပိတ်လိုက်တဲ့အခါ program က အလိုအလျောက် ရပ်သွားဖို့ သတ်မှတ်ပါ။
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 10. Window ရဲ့ အရွယ်အစားကို သတ်မှတ်ပါ။ (အကျယ် 300 pixels, အမြင့် 200 pixels)
        frame.setSize(300, 200);

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

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

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

  1. JFrame

    JFrame ဟာ Java Swing မှာ Application window တစ်ခုလုံးကို ကိုယ်စားပြုတဲ့ class ဖြစ်ပါတယ်။ ဒီနေရာမှာ "JRadioButton Example" ဆိုတဲ့ ခေါင်းစဉ်နဲ့ JFrame object အသစ်တစ်ခုကို ဖန်တီးထားတာပါ။

    • frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS)) ဒီ code ကတော့ frame ထဲမှာ ထည့်သွင်းမယ့် component တွေကို ဒေါင်လိုက် (vertical) အစီအစဉ်အတိုင်း တစ်ခုအောက်တစ်ခု ချပေးဖို့ BoxLayout ကို အသုံးပြုတာ ဖြစ်ပါတယ်။ BoxLayout.Y_AXIS က ဒေါင်လိုက်ချပေးပြီး BoxLayout.X_AXIS က အလျားလိုက်ချပေးပါတယ်။
    java
    JFrame frame = new JFrame("JRadioButton Example");
    frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
  2. JRadioButton

    JRadioButton ဟာ ရွေးချယ်စရာများစွာထဲကနေ တစ်ခုတည်းကိုသာ ရွေးချယ်နိုင်အောင် ခွင့်ပြုဖို့ အသုံးပြုတဲ့ component ပါ။ new JRadioButton("Male") လိုမျိုး ဖန်တီးလိုက်ရင် "Male" လို့ စာသားပါတဲ့ radio button တစ်ခု ပေါ်လာမှာပါ။ ဒီနေရာမှာ "Male", "Female", "Other" ဟူသော text များပါသော radio button သုံးခုကို ဖန်တီးထားပါသည်။

    java
    JRadioButton maleRadioButton = new JRadioButton("Male");
    JRadioButton femaleRadioButton = new JRadioButton("Female");
    JRadioButton otherRadioButton = new JRadioButton("Other");
  3. ButtonGroup

    ButtonGroup ဟာ JRadioButton တွေကို စုစည်းပေးတဲ့ class ပါ။ ဒီ class ရဲ့ အဓိက လုပ်ဆောင်ချက်ကတော့ ButtonGroup တစ်ခုထဲကို ထည့်သွင်းထားတဲ့ radio button တွေထဲကနေ တစ်ခုတည်းကိုသာ တစ်ကြိမ်တည်း ရွေးချယ်နိုင်အောင် သေချာစေတာပဲ ဖြစ်ပါတယ်။ example၊ "Male" ကို ရွေးလိုက်ရင် "Female" နဲ့ "Other" က အလိုလို ရွေးချယ်မှု ပျက်သွားပါလိမ့်မယ်။

    java
    ButtonGroup group = new ButtonGroup();
    group.add(maleRadioButton);
    group.add(femaleRadioButton);
    group.add(otherRadioButton);

Radio Button Example

  1. Default Selection

    setSelected(true) method ကို အသုံးပြု၍ radio button တစ်ခုကို default အနေဖြင့် ရွေးချယ်ထားနိုင်ပါသည်။ ဒီexampleမှာ "Male" radio button ကို default အဖြစ် ရွေးထားပါတယ်။

    java
    maleRadioButton.setSelected(true);
  2. JButton

    JButton ဟာ အသုံးပြုသူရဲ့ လုပ်ဆောင်ချက် (user interaction) တွေကို ကိုင်တွယ်ဖို့ အသုံးပြုတဲ့ ခလုတ် component ဖြစ်ပါတယ်။ ဒီနေရာမှာ "Submit" ဆိုတဲ့ စာသားပါတဲ့ Button တစ်ခုကို ဖန်တီးထားပါတယ်။

    java
    JButton submitButton = new JButton("Submit");
  3. Event Handling with ActionListener

    Submit Button ကို နှိပ်လိုက်တဲ့အခါ JRadioButton တွေထဲက ဘယ်တစ်ခုကို ရွေးချယ်ထားလဲဆိုတာကို စစ်ဆေးပြီး message dialog နဲ့ ပြသဖို့အတွက် ActionListener interface ကို အသုံးပြုထားပါတယ်။ isSelected() method ကို အသုံးပြု၍ radio button ၏ status ကို စစ်ဆေးနိုင်ပါသည်။

    java
    submitButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String selectedOption = "";
            if (maleRadioButton.isSelected()) {
                selectedOption = "Male";
            } else if (femaleRadioButton.isSelected()) {
                selectedOption = "Female";
            } else if (otherRadioButton.isSelected()) {
                selectedOption = "Other";
            }
            JOptionPane.showMessageDialog(frame, "You selected: " + selectedOption);
        }
    });

Radio Button Example

  1. JPanel

    JPanel ဟာ Swing မှာ components တွေကို စီစဉ်ပေးဖို့ အသုံးပြုတဲ့ container တစ်ခု ပါ။ ဒီexampleမှာ JRadioButton သုံးခုကို JPanel ထဲကို အရင်ထည့်ပြီးမှ အဲ့ဒီ JPanel ကို JFrame ထဲသို့ ထည့်သွင်းထားပါတယ်။ ဒါမှ radio button တွေကို စုစည်းပြီး စီစဉ်ရာမှာ ပိုမိုလွယ်ကူစေပါတယ်။

    java
    JPanel panel = new JPanel();
    panel.add(maleRadioButton);
    panel.add(femaleRadioButton);
    panel.add(otherRadioButton);

TIP

  • JRadioButton: ရွေးချယ်စရာများစွာထဲကနေ တစ်ခုတည်းကိုသာ ရွေးချယ်နိုင်အောင် အသုံးပြုတဲ့ component ဖြစ်ပါတယ်။
  • ButtonGroup: JRadioButton တွေကို စုစည်းပြီး ၎င်းတို့ထဲမှ တစ်ခုတည်းကိုသာ တစ်ကြိမ်တည်း ရွေးချယ်နိုင်စေရန် ပြုလုပ်ပေးပါတယ်။ ဒါဟာ JRadioButton တွေရဲ့ အဓိက သဘောတရားကို အကောင်အထည်ဖော်တာပါ။
  • isSelected(): Radio button ကို ရွေးချယ်ထားခြင်း ရှိ/မရှိ စစ်ဆေးဖို့အတွက် အသုံးပြုပါတယ်။
  • setSelected(boolean b): Radio button တစ်ခုကို ရွေးချယ်ထားရန် (true) သို့မဟုတ် ရွေးချယ်မှု ပယ်ဖျက်ရန် (false) သတ်မှတ်ဖို့အတွက် အသုံးပြုပါတယ်။