Hashtable y JComboBox

Nowak
17 de Enero del 2005
Yo se meter en un JComboBox las claves de una hastable =>
if (numeroClientes>0)
{
int i=0;
for (Enumeration e = MenuUnef.clientes.keys(); e.hasMoreElements(); )
{
Sclientes[i] = new String(e.nextElement().toString());
i++;
}
}

Con esto meto los valores en un array de String que luego pondre para que coja los datos el JComboBox.

Pero mi problema es como hacer que en vez de coger la clave me coja un dato de la hastable (para ser mas precisos quiero que me coja el nombre de cliente siendo el numero de dni la clave de esta hashtable => dni(clave), nombre, apellido1, apellido2) para luego meterlo en un array de String con todos los nombres y luego en un comboBox (lo de meterlo en el comboBox teniendo el array de String sí que se hacerlo.

Gracias por anticipado

Lucas
17 de Enero del 2005
Lo mejor es que te hagas una clase que represente a una persona con sus datos (nombre, apellidos, dni).
Para indexar las personas por su dni, las insertas en una tabla hash con tablaHash.put(persona.getDni(), persona);
Cuando quieras sacar todos los nombres de clientes de la tabla hash, recorres los valores de la tabla con elements() o values() y sacas de cada persona su nombre.
Enumeration enum = tablaHash.elements();
while (enum.hasMoreElements()) {
Persona persona = (Persona)enum.nextElement();
String nombre = persona.getNombre();
}