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();
}
}
आउटपुट
