我现在需要一个纯图片选择的JCombobox的源代码,类似像Word中的字体设置窗体中颜色选择那样,请不吝赐教谢谢!

解决方案 »

  1.   

    利用JCombobox.setRenderer()设置自己的ListCellRenderer, 一个ListCellRenderer的框架:class MyCellRenderer JComponent implements ListCellRenderer {     public Component getListCellRendererComponent(
             JList list,
             Object value,
             int index,
             boolean isSelected,
             boolean cellHasFocus)
         {
           
             Graphics g = getGraphics();
             g.drawImage( img, 0, 0, null );
             return this;
         }
         
         private Image getImageOf( Object val ) {
          ...
          return img;
     }
     }
      

  2.   

    public class Test extends JFrame { Test(){
    JComboBox box=new JComboBox(new String[]{"C:/Documents and Settings/d/桌面/Greenstone.gif","C:/Documents and Settings/d/桌面/Gone Fishing.gif"});
    box.setRenderer(new CellRendererClass());
    add(box);
    setSize(100, 80);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
    new Test();
    }
    }class CellRendererClass extends JLabel implements  ListCellRenderer{
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
    setIcon(new ImageIcon(value.toString()));
    return this;
    }
    }