在JAVA中,JComboBox的高亮选定项的颜色是深蓝色,我想换一种颜色,请问该怎么实现呢?谢谢了!

解决方案 »

  1.   

    好象没法做到吧,不过你可以试试这样:
    try{
         String thelook="com.sun.java.swing.plaf.motif.MotifLookAndFeel";
         UIManage.setLookAndFeel(theLook);
    }catch(Exception e)
    {}
    变成windows外观可能颜色就变了。
      

  2.   

    可以用单元绘制器实现的.
    JComboBox有一个方法是public void setRenderer(ListCellRenderer aRenderer)
    接受一个ListCellRenderer对象,这个对象可以自己定义JList或者JComboBox的每一项的显示方式.
    这个是JDK帮助中带的一个例子:
     class MyCellRenderer extends JLabel implements ListCellRenderer {
         public MyCellRenderer() {
             setOpaque(true);
         }
         public Component getListCellRendererComponent(
             JList list,
             Object value,
             int index,
             boolean isSelected,
             boolean cellHasFocus)
         {
             setText(value.toString());
             setBackground(isSelected ? Color.red : Color.white);
             setForeground(isSelected ? Color.white : Color.black);
             return this;
         }
     }
    有一个参数为isSelected,可以根据这个参数自定义选定时和未选定时的前景色和背景色.Oreilly出的那本Swing的教材的例子程序讲的是JList的自定义单元绘制的方法,JComboBox和它的原理基本相同.