Import javax. swing .*;
Import java. awt .*;
Public class JComboBoxCustomTest {
JFrame mainFrame;
JPanel mainPanel;
JComboBox customComboBox;
CustomComboBoxRenderer customComboBoxRenderer;
Public JComboBoxCustomTest (){
MainFrame = new JFrame ("JComboBoxCustomTest ");
MainPanel = new JPanel ();
CustomComboBoxRenderer = new CustomComboBoxRenderer ();
CustomComboBox = new JComboBox ();
CustomComboBoxRenderer. setPreferredSize (new Dimension (200,50 ));
CustomComboBox. setRenderer (customComboBoxRenderer );
CustomComboBox. addItem ("dd"); // Add two items at will. "dd" is useless here.
CustomComboBox. addItem ("dd ");
MainPanel. add (customComboBox );
MainFrame. getContentPane (). add (mainPanel, BorderLayout. PAGE_START );
MainFrame. setdefaclocloseoperation (JFrame. EXIT_ON_CLOSE );
MainFrame. pack ();
MainFrame. setVisible (true );
}
Public static void main (String [] args ){
SwingUtilities. invokeLater (new Runnable (){
Public void run (){
New JComboBoxCustomTest ();
}
});
}
}
Class customcomboboxrenderer implements listcellrenderer {
Public customcomboboxrenderer (){
Setopaque (true );
}
Public component getlistcellrenderercomponent (
Jlist list,
Object value,
Int index,
Boolean isselected,
Boolean cellhasfocus)
{
Return new JCheckBox ("chekcbox ");
}
}