JComboBox
- একটি JComboBox JComponent ক্লাস এক্সটেন্ড করে এবং এটি একটি টেক্সট ফিল্ড এবং একটি ড্রপ-ডাউন লিস্ট-এর কম্বিনেশন যেখান থেকে ব্যবহারকারী একটি মান বেছে নিতে পারে।
- যদি কন্ট্রোলের টেক্সট ফিল্ড অংশটি এডিটেবল হয়, তবে ব্যবহারকারী ফিল্ডে একটি মান ইনপুট দিতে পারে বা ড্রপ-ডাউন লিস্ট থেকে রিট্রিভ করা মানটি এডিট করতে পারে।
- ডিফল্টভাবে, ব্যবহারকারী JComboBox-এর টেক্সট ফিল্ড অংশের ডেটা এডিট করার অনুমতি পায় না। যদি আমরা ব্যবহারকারীকে টেক্সট ফিল্ড এডিট করার অনুমতি দিতে চাই, তবে setEditable(true) মেথড কল করতে হবে।
- একটি JComboBox ব্যবহারকারী কমবো বাক্সে অ্যাকশন নিলে ActionListener, ChangeListener বা ItemListener জেনারেট করতে পারে।
- একটি getSelectedItem() মেথড JComboBox-এ থেকে সিলেক্ট করা বা ইনপুট করা আইটেম পেতে ব্যবহার করা যেতে পারে।
উদাহরণ
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JEditableComboBoxTest extends JFrame {
public JEditableComboBoxTest() {
setTitle("JEditableComboBox Test");
setLayout(new BorderLayout());
final JComboBox combobox = new JComboBox();
final JList list = new JList(new DefaultListModel());
add(BorderLayout.NORTH, combobox);
add(BorderLayout.CENTER, list);
combobox.setEditable(true);
combobox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
if (ie.getStateChange() == ItemEvent.SELECTED) {
((DefaultListModel) list.getModel()).addElement(combobox.getSelectedItem());
combobox.insertItemAt(combobox.getSelectedItem(), 0);
}
}
});
setSize(new Dimension(375, 250));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) throws Exception {
new JEditableComboBoxTest();
}
}
আউটপুট
