public class Test3 {
public static void main(String[] args) {
new Test3().init();
}
private void init(){
Object[] objs={"aaaaaa","bbbbbbbb","cccccccc","ddddddd"};
JComboBox cbo=new JComboBox(objs);
cbo.setToolTipText(cbo.getSelectedItem()!=null?cbo.getSelectedItem().toString():"");
cbo.setRenderer(new ItemTipRenderer());//继承BasicComboBoxRenderer类
JFrame f=new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(50, 100);
f.setLocation(400, 200);
f.add(cbo,BorderLayout.SOUTH);
f.setVisible(true);
}
}
@SuppressWarnings("serial")//实现JComBox item项tip信息
class ItemTipRenderer extends BasicComboBoxRenderer {
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
if (isSelected){
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
}else{
setBackground(list.getBackground());
setForeground(list.getForeground());
}
if (-1 < index){
list.setToolTipText(value.toString());
}
setFont(list.getFont());
setText((value == null) ? "" : value.toString());
return this;
}
}