एक JComboBox JComponent . का उपवर्ग है वर्ग और यह एक text फ़ील्ड . का संयोजन है और एक ड्रॉप-डाउन सूची जिसमें से उपयोगकर्ता एक मूल्य चुन सकता है। JComboBox एक ActionListener, ChangeListener . उत्पन्न कर सकता है और आइटम लिस्टनर इंटरफेस जब उपयोगकर्ता कॉम्बो बॉक्स पर कार्रवाई करता है। हम JComboBox को रेंडर करके JComboBox के आइटम पर बॉर्डर सेट कर सकते हैं जो DefaultListCellRenderer . का विस्तार करता है वर्ग और getListCellRendererComponent() . को ओवरराइड करने की आवश्यकता है विधि।
सिंटैक्स
public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus)
उदाहरण
import java.awt.*; import javax.swing.*; public class JComboBoxTest extends JFrame { public JComboBoxTest() { setTitle("JComboBox Test"); String[] cities = {"Hyderabad", "Mumbai", "Pune", "Bangalore", "Chennai", "Coimbatore"}; JComboBox jcb = new JComboBox(cities); jcb.setRenderer(new CustomComboBoxRenderer()); add(jcb, BorderLayout.NORTH); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } class CustomComboBoxRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { JLabel lbl = (JLabel)super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); lbl.setBorder(BorderFactory.createEmptyBorder(7, 7, 7, 7)); lbl.setBackground(Color.lightGray); return lbl; } } public static void main(String[] args) { new JComboBoxTest(); } }
आउटपुट