Pregunta avanzada para expertos de Swing

Timoniel_24
23 de Enero del 2006
Hola a todos, alguien sabe si es posible implementar un JComboBox con las siguientes características?:

1. Que tenga items de cierto color...
2. Que dichos items no sean seleccionables

Esto es para la selección de proveedores en una aplicación. Si muestro algunos items de rojo, significa que no estan disponibles y no deberían seleccionarse. Tienen alguna otra idea para hacerlo? algún otro componente que no sea JTable?

jomamubo
23 de Enero del 2006
Hola, qué tal? Es estrictamente necesario que muestre todos los proveedores, incluso los no disponibles? Si no los vas a poder seleccionar, para qué los quieres en la lista? Yo en tu lugar haría un filtro antes de añadirlos a la lista y mostrar sólo aquellos que se puedan seleccionar. Es decir, suponiendo que lees los proveedores de una BD, podrías hacer:
cadenaSentencia="select nombre from proveedores where <condicion_que_determine_la_disponibilidad>";
resultado=sentencia.executeQuery(cadenaSentencia);
while(resultado.next())
jComboBox.addItem(resultado.getString("nombre")+"");

Si es necesario mostrar todos los proveedores incluso lo que no puedes seleccionar, podrias hacer

(jComboOperario.getItemAt(i)).setEnabled(false);

después de incluir el elemento en la lista, e indicando el indice del elemento que quieres que no sea seleecionable. Esto ultimo no lo he probado, ni hecho nunca. No estoy seguro de si te servirá.
Un saludo. Espero haber sido de ayuda.
www.josemanuelmunozborreguero.tk

ramirex
23 de Enero del 2006
existe una forma, que es trabajando renderizando como en las tablas, pero es un proceso largo, lo primero que tienes que hacer es cambiarlo a objeto, para eso tienes que modificar algunas clases.

busco en el google como renderizado

encontraras buenos ejemplos.