AYUDA JCOMBOBOX

carlos vargas
09 de Diciembre del 2010
Hola Foristas,

Tengo un programa desarrollado en jDeveloper 11g.

Tengo una pantalla en donde se registran los productos y en donde tengo dos jComboBox para seleccionar familia y sub-familia.

Al cargar el formulario, solo carga el combo de la familia y al seleccionar este, recien cargue el combo de la sub-familia, hasta ahi todo bien.

Para el formulario, uso el evento "this_windowOpened", para cargar el combo familia.

Y para el combo familia, uso los siguientes eventos:

private void cmbFamilia_keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
cmbSubFamilia.requestFocus();
}
}

private void cmbFamilia_focusLost(FocusEvent e) {
try{
vCoFamilia = ATLoadComboBoxValues.getCVLCode("familia", cmbFamilia.getSelectedIndex());
ATLoadComboBoxValues.loadComboBoxValues(cmbSubFamilia, DataManipulation.SubFamilia(), "subfamilia", true);
}
catch(Exception exception){
...
}
}

Lo que deseo es: Cuando deseo cambiar nuevamente con el mouse el item de la familia, deberia cambiar automaticamente el combo de la subfamilia, sin que en este ultimo, se este agregando items duplicados o que no pertenezcan a la familia...

Que estoy haciendo mal o que eventos me estan faltando utilizar ?

Espero haberme explicado bien, si puedieran enviarme el codigo y los eventos a usar, estaria muy agradecido.

ramon sange
16 de Diciembre del 2010
Lo que tienes que hacer es en el evento mouseClick del comboFamilia:

//primero eliminar los elementos que ya hubiera en el combo de las subfamilias

comboSubFamilia.removeAllItems();


//ahora, cargar todas las subfamilias en el combo de subfamilias. Si las tienes en un List (listaSubfamilias) podrias hacerlo asi o con la clase Iterator.

for(int i=0;i