Faixas de cores como item de um JComboBox

Boa tarde,

Uma questão a parte, mas que também tem a ver com JComboBox:

Como eu faço para uma JComboBox receber tarjas de cores? Ou seja, eu não queria que ele recebesse um array tipo String, mas sim faixas de cores igual quando você clica naquele A com aquarela do WordPad, por exemplo, só que dentro do JComboBox. Como posso inserí-las no JComboBox?

Desde já agradeço.

E se puderem me auxiliar com a questão anterior, eu agradeceria muito também.

Você pode pegar a idéia que está em:

http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html

e aproveitar o seguinte código:

    private JLabel getLblColor() {
        if (lblColor == null) {
            lblColor = new JLabel("Color");
            BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB);
            Graphics2D g2d = (Graphics2D) (img.getGraphics());
            g2d.setPaint(new GradientPaint(0, 0, new Color(255, 0, 0), 20, 20, new Color(64, 0, 0), true));
            g2d.fillRect(0, 0, 20, 20);
            lblColor.setIcon(new ImageIcon(img));
        }
        return lblColor;
    }

O código acima cria uma JLabel que contém um quadradinho colorido e um texto qualquer. Por exemplo:

Em vez de pintar o quadradinho de vermelho sólido (new RGB (255, 0, 0)) eu pintei com um gradiente que no canto superior esquerdo é um RGB (255,0,0) e no canto inferior esquerdo é a mesma cor, só que dividida por 4 para ficar mais escura: new RGB (64,0,0).

Obrigado pela resposta.

Não teria uma forma mais fácil de fazer? Como por exemplo criar um array com JLabels e colocar dentro do JComboBox?

Você precisa ter um ComboBoxRenderer de qualquer maneira; se você simplesmente criar JLabels e os inserir no ComboBoxModel, você vai ter uma combo simples (apenas texto), e o texto de cada linha do ComboBox vai ser algo como “L@javax.swing.JLabel;239938fh” ou coisa parecida.