Java Swing တွင် JRadioButton အသုံးပြုခြင်း
Java Swing မှာ JRadioButton ဆိုတာဟာ User တွေဆီက ရွေးချယ်စရာများစွာထဲကနေ တစ်ခုတည်းကိုသာ ရွေးချယ်နိုင်အောင် ခွင့်ပြုဖို့ အသုံးပြုတဲ့ component တစ်ခု ဖြစ်ပါတယ်။ exampleအားဖြင့်၊ လူတစ်ယောက်ရဲ့ ကျား/မ ရွေးချယ်ခြင်း (Male/Female)၊ အဝတ်အစား အရွယ်အစား (S/M/L/XL) ရွေးချယ်ခြင်း စသည်တို့မှာ အသုံးပြုနိုင်ပါတယ်။ JRadioButton တွေကို တစ်ခုတည်းသာ ရွေးချယ်နိုင်အောင် လုပ်ဆောင်ဖို့အတွက် ButtonGroup နဲ့ တွဲဖက်ပြီး အသုံးပြုရပါတယ်။ အောက်မှာ JRadioButton ကို အသုံးပြုပြီး ရိုးရှင်းတဲ့ example တစ်ခုကို ဖော်ပြထားပါတယ်။
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 ထဲက အဓိကကျတဲ့ အစိတ်အပိုင်းတွေကို တစ်ခုချင်းစီ ထပ်ပြီး ရှင်းပြပါမယ်။
JFrame
JFrameဟာ Java Swing မှာ Application window တစ်ခုလုံးကို ကိုယ်စားပြုတဲ့ class ဖြစ်ပါတယ်။ ဒီနေရာမှာ"JRadioButton Example"ဆိုတဲ့ ခေါင်းစဉ်နဲ့JFrameobject အသစ်တစ်ခုကို ဖန်တီးထားတာပါ။frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS))ဒီ code ကတော့ frame ထဲမှာ ထည့်သွင်းမယ့် component တွေကို ဒေါင်လိုက် (vertical) အစီအစဉ်အတိုင်း တစ်ခုအောက်တစ်ခု ချပေးဖို့BoxLayoutကို အသုံးပြုတာ ဖြစ်ပါတယ်။BoxLayout.Y_AXISက ဒေါင်လိုက်ချပေးပြီးBoxLayout.X_AXISက အလျားလိုက်ချပေးပါတယ်။
javaJFrame frame = new JFrame("JRadioButton Example"); frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));JRadioButton
JRadioButtonဟာ ရွေးချယ်စရာများစွာထဲကနေ တစ်ခုတည်းကိုသာ ရွေးချယ်နိုင်အောင် ခွင့်ပြုဖို့ အသုံးပြုတဲ့ component ပါ။new JRadioButton("Male")လိုမျိုး ဖန်တီးလိုက်ရင်"Male"လို့ စာသားပါတဲ့ radio button တစ်ခု ပေါ်လာမှာပါ။ ဒီနေရာမှာ "Male", "Female", "Other" ဟူသော text များပါသော radio button သုံးခုကို ဖန်တီးထားပါသည်။javaJRadioButton maleRadioButton = new JRadioButton("Male"); JRadioButton femaleRadioButton = new JRadioButton("Female"); JRadioButton otherRadioButton = new JRadioButton("Other");ButtonGroup
ButtonGroupဟာJRadioButtonတွေကို စုစည်းပေးတဲ့ class ပါ။ ဒီ class ရဲ့ အဓိက လုပ်ဆောင်ချက်ကတော့ButtonGroupတစ်ခုထဲကို ထည့်သွင်းထားတဲ့ radio button တွေထဲကနေ တစ်ခုတည်းကိုသာ တစ်ကြိမ်တည်း ရွေးချယ်နိုင်အောင် သေချာစေတာပဲ ဖြစ်ပါတယ်။ example၊ "Male" ကို ရွေးလိုက်ရင် "Female" နဲ့ "Other" က အလိုလို ရွေးချယ်မှု ပျက်သွားပါလိမ့်မယ်။javaButtonGroup group = new ButtonGroup(); group.add(maleRadioButton); group.add(femaleRadioButton); group.add(otherRadioButton);

Default Selection
setSelected(true)method ကို အသုံးပြု၍ radio button တစ်ခုကို default အနေဖြင့် ရွေးချယ်ထားနိုင်ပါသည်။ ဒီexampleမှာ"Male"radio button ကို default အဖြစ် ရွေးထားပါတယ်။javamaleRadioButton.setSelected(true);JButton
JButtonဟာ အသုံးပြုသူရဲ့ လုပ်ဆောင်ချက် (user interaction) တွေကို ကိုင်တွယ်ဖို့ အသုံးပြုတဲ့ ခလုတ် component ဖြစ်ပါတယ်။ ဒီနေရာမှာ"Submit"ဆိုတဲ့ စာသားပါတဲ့ Button တစ်ခုကို ဖန်တီးထားပါတယ်။javaJButton submitButton = new JButton("Submit");Event Handling with ActionListener
SubmitButton ကို နှိပ်လိုက်တဲ့အခါJRadioButtonတွေထဲက ဘယ်တစ်ခုကို ရွေးချယ်ထားလဲဆိုတာကို စစ်ဆေးပြီး message dialog နဲ့ ပြသဖို့အတွက်ActionListenerinterface ကို အသုံးပြုထားပါတယ်။isSelected()method ကို အသုံးပြု၍ radio button ၏ status ကို စစ်ဆေးနိုင်ပါသည်။javasubmitButton.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); } });

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