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; } }