JOptionPane rebelde

etartera
28 de Junio del 2006
Saludos a todo el mundo

Tengo un problema al intentar mostrar un cuadro de diálogo modal para entrar unos parámetros necesarios para la instanciación del objeto.

Aqui intento pasar un objeto de la clase Zona y me funciona perfectamente:

while (zone==null){
Object[] options = assign.getZones().toArray();
zone = (Zone)JOptionPane.showInputDialog(this,"Caldria triar la zona de la que forma part el nou Fet."+"Sense fer-ho no es pot crear el fet","",JOptionPane.QUESTION_MESSAGE, null,options,options[0]);
}

En cambio unas lineas más abajo necesito recoger un objeto de la clase Category y hago exactamente lo mismo:

while (cat==null){
Object[] options = type.getCategories().toArray();
cat = (Category) JOptionPane.showInputDialog(this,"Caldria triar el tipus del nou Fet."+"Sense fer-ho no es pot crear el fet","Títol",JOptionPane.QUESTION_MESSAGE, null,options,options[0]);
}

Y cuando lo ejecuto, el Combobox que me aparece con las Category correspondientes sólo me deja seleccionar la primera.

Estoy loquito de buscar en la documentación y sólo se me ocurre que o bien el problema es de la máquina virtual del Mac OSX y su look and feel o que Category no cumpla los requisitos para que pueda ser pasada.

A alguien le ha pasado algo similar?

Gracias por adelantado

etartera
28 de Junio del 2006
Ya lo tengo!!

Se trataba de una mala implementación del método equals() en la segunda clase (Category)

Gracias