Ayuda JComboBox y Colores [JAVA]

bañuelos

Bovino adolescente
#1
Hola a todos necesito ayuda para cambiar los colores de cada elemento de un JComboBox p.ejem.

JComboBox combito = new JComboBox();
//Por decir algunos colores
combiato.addItem("Elemento Uno"); //--> Verde
combiato.addItem("Elemento Dos"); //--> Amarillo
combiato.addItem("Elemento Tres"); //--> Azul


todo eso mostrado en su respectiva ventana(con eso no hay problema) lo que deseo es que el primer elemento sea de un determinado color ya sea el texto o el background, asi mismo el segundo y el tercer elemento, hasta el momento todo lo que he econtrado me lleva a esto:



PHP:
class Renderer extends JLabel implements ListCellRenderer {

public Component getListCellRendererComponent(JList list, Object value,
                        int index, boolean isSelected, boolean cellHasFocus) {
                // Get the selected index. (The index param isn't
                // always valid, so just use the value.)

                if (isSelected) {
                        setBackground(list.getSelectionBackground());
                        setForeground(list.getSelectionForeground());
                } else {
                        setBackground(list.getBackground());
                        setForeground(list.getForeground());
                }

                // Display the text
                String text = (String) value;
                setText(text);

                // Get the source
this.setForeground(Color color);
return this;

}


o a esto otro http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#renderer

La verdad me siento perdido no compredo el código, osea como le digo de que color es cada elemento?? alguna idea? alguien que halla hecho algo similar?
Muchas gracias de antemano :D
 
#2
¡Hola! en respuesta a tu pregunta podrías realizar lo siguiente:

Ejemplo 1:
Al momento de presionar un JRadioButton, este cambie de color de letra, de background, y que al mismo tiempo cambie el color de lerta de un JTextField.

EDIT: Las frases que contienen "radio" son los JRadioButton y textoColor es el JTextField

Código:
private void radioAmarilloActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        this.radioVerde.setBackground(Color.yellow);
        this.radioVerde.setForeground(Color.yellow);
        this.textoColor.setForeground(Color.yellow);
        this.textoColor.setText("Amarillo");
    }
Ejemplo 2:
Si deseas que por defecto estén cambiados los colores de los componentes al inicio del programa, solo basta con poner el código anterior en el constructor de la aplicación.

Código:
public Ejemplo1() {
        initComponents();
        this.radioVerde.setBackground(Color.green);
        this.radioVerde.setForeground(Color.green);
        this.radioRojo.setBackground(Color.red);
        this.radioRojo.setForeground(Color.red);
        this.radioAmarillo.setBackground(Color.yellow);
        this.radioAmarillo.setForeground(Color.yellow);

    }
El código es mejorable y ya que se repiten las lineas es posible crear un método para evitar la redundancia. Pero ya es cuestión de tu implementación. Espero haberte ayudado. Cuídate y saludos.
 

bañuelos

Bovino adolescente
#3
Si podría hacer eso con el combo pero solo serviría para cambiar TODOs los elementos del combo, lo que necesito es cambiar el color de cada elemento dentro del combo :S, pero muchas gracias por tomarte la molestia en responder :D Saludos que tengas buen día ^^
 
Arriba