JComboBox হল JComponent ক্লাসের সাবক্লাস এবং এটি একটি টেক্সট ফিল্ড এবং একটি ড্রপ-ডাউন লিস্ট-এর কম্বিনেশন যেখান থেকে ইউজার একটি ভ্যালু চুজ করতে পারে। একটি JComboBox ActionListener, ChangeListener এবং ItemListener ইন্টারফেস জেনারেট করে যখন ইউজার কম্বো বক্সে অ্যাকশন করে। আমরা 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(); } }
আউটপুট
