Skip to content

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

Java Swing တွင် JComboBox သည် dropdown list တစ်ခုကို ဖန်တီးရန် အသုံးပြုသော component တစ်ခုဖြစ်ပါသည်။ ၎င်းသည် user အား ရွေးချယ်စရာများစွာထဲမှ တစ်ခုကို ရွေးချယ်နိုင်စေရန် သို့မဟုတ် ကိုယ်တိုင် input ထည့်သွင်းနိုင်စေရန် (editable ဖြစ်ပါက) ခွင့်ပြုပါသည်။ အောက်တွင် JComboBox ကို အသုံးပြု၍ ရိုးရှင်းသော example တစ်ခုကို ဖော်ပြထားပါသည်။

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

public class ComboBoxExample {
    public static void main(String[] args) {
        // JFrame ဖြင့် window တစ်ခုကို ဖန်တီးပါ။
        JFrame frame = new JFrame("JComboBox Example");
        frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS)); // Vertical layout

        // JComboBox အတွက် ရွေးချယ်စရာများ (items) ကို သတ်မှတ်ပါ။
        String[] colors = {"Red", "Green", "Blue", "Yellow", "Black"};

        // JComboBox ကို ဖန်တီးပါ။
        JComboBox<String> colorComboBox = new JComboBox<>(colors);

        // Default အနေဖြင့် "Green" ကို ရွေးချယ်ထားပါ။
        colorComboBox.setSelectedItem("Green");

        // JComboBox ကို editable ဖြစ်စေလိုပါက
        // colorComboBox.setEditable(true);

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

        // Button ကို နှိပ်သောအခါ လုပ်ဆောင်မည့် event listener ကို ထည့်ပါ။
        submitButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                // JComboBox မှ ရွေးချယ်ထားသော item ကို ရယူပါ။
                String selectedColor = (String) colorComboBox.getSelectedItem();
                JOptionPane.showMessageDialog(frame, "You selected: " + selectedColor);
            }
        });

        // JPanel ဖြင့် components များကို စီစဉ်ပါ။
        JPanel panel = new JPanel();
        panel.add(new JLabel("Select a color:"));
        panel.add(colorComboBox);
        panel.add(submitButton);

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

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

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

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

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

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

  1. JFrame

    JFrame သည် Java Swing တွင် window တစ်ခုကို ကိုယ်စားပြုသော class ဖြစ်ပါသည်။ ဤနေရာတွင် JFrame object တစ်ခုကို "JComboBox Example" ဟူသော title ဖြင့် ဖန်တီးထားပါသည်။ BoxLayout ကို အသုံးပြု၍ components များကို ဒေါင်လိုက် (vertical) စီစဉ်ထားပါသည်။

    java
    JFrame frame = new JFrame("JComboBox Example");
    frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
  2. JComboBox Items

    JComboBox တွင် ပြသလိုသော ရွေးချယ်စရာများကို String array တစ်ခုအဖြစ် သတ်မှတ်နိုင်ပါသည်။

    java
    String[] colors = {"Red", "Green", "Blue", "Yellow", "Black"};
  3. JComboBox Creation

    JComboBox object ကို ဖန်တီးရာတွင် ရွေးချယ်စရာ array ကို constructor ထဲသို့ ထည့်သွင်းပေးရပါသည်။ <String> သည် Generic type ဖြစ်ပြီး၊ JComboBox တွင် String type item များကို ထည့်သွင်းမည်ဟု ဆိုလိုပါသည်။

    java
    JComboBox<String> colorComboBox = new JComboBox<>(colors);

JComboBox Example

  1. Default Selection

    setSelectedItem() method ကို အသုံးပြု၍ JComboBox တွင် default အနေဖြင့် ရွေးချယ်ထားလိုသော item ကို သတ်မှတ်နိုင်ပါသည်။

    java
    colorComboBox.setSelectedItem("Green");

JComboBox Example

  1. Editable ComboBox (Optional)

    setEditable(true) method ကို ခေါ်ဆိုခြင်းဖြင့် JComboBox ကို editable ဖြစ်စေနိုင်ပါသည်။ ထိုအခါ user သည် dropdown list မှ ရွေးချယ်ရုံသာမက၊ ကိုယ်တိုင် text ကိုလည်း ရိုက်ထည့်နိုင်ပါသည်။

    java
    // colorComboBox.setEditable(true);
  2. JButton

    JButton သည် user interaction ကို ကိုင်တွယ်ရန် အသုံးပြုသော component ဖြစ်ပါသည်။ ဤနေရာတွင် "Submit" ဟူသော text ပါသော Button တစ်ခုကို ဖန်တီးထားပါသည်။

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

    Button ကို နှိပ်သောအခါ JComboBox မှ ရွေးချယ်ထားသော item ကို getSelectedItem() method ဖြင့် ရယူပြီး message dialog ဖြင့် ပြသရန် ActionListener interface ကို အသုံးပြုထားပါသည်။ getSelectedItem() သည် Object type ကို ပြန်ပေးသောကြောင့် String သို့ cast လုပ်ရန် လိုအပ်ပါသည်။

    java
    submitButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String selectedColor = (String) colorComboBox.getSelectedItem();
            JOptionPane.showMessageDialog(frame, "You selected: " + selectedColor);
        }
    });

JComboBox Example

  1. JPanel

    JPanel သည် components များကို စီစဉ်ရန် အသုံးပြုသော container တစ်ခုဖြစ်ပါသည်။ ဤနေရာတွင် JLabel, JComboBox, နှင့် JButton ကို JPanel ထဲသို့ ထည့်သွင်းထားပါသည်။

    java
    JPanel panel = new JPanel();
    panel.add(new JLabel("Select a color:"));
    panel.add(colorComboBox);
    panel.add(submitButton);

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

  • ItemListener:

    JComboBox တွင် item ရွေးချယ်မှု ပြောင်းလဲတိုင်း event ကို ကိုင်တွယ်လိုပါက addItemListener() method ကို အသုံးပြုနိုင်ပါသည်။

  • Adding/Removing Items:

    addItem() နှင့် removeItem() methods များကို အသုံးပြု၍ JComboBox တွင် item များကို dynamically ထည့်သွင်းခြင်း သို့မဟုတ် ဖယ်ရှားခြင်း ပြုလုပ်နိုင်ပါသည်။