Problema con JComboBox creada Dinamicamente

Iniciado por Fran88, 30 Agosto 2009, 20:03 PM

0 Miembros y 2 Visitantes están viendo este tema.

Fran88

Buenas, estoy creando una JComboBox pero quiero hacerlo de forma q se construya a partir de una lista, el problema es q si añado con addItem una vez, 2 o 3, funciona, pero al hacerlo con un iterador en un bucle q lea la lista, dice q lo inserta pero al visualizarlo aparece un elemento en la caja y no se despliega nada!!!
Mi codigo donde la creo es este:

public void creaCB(HashTableMap<String, String> Atribs,NodoArbol nodog){
Iterable<Entry<String, String>> listaCombo=Atribs.entries();
Iterator<Entry<String, String>>it= listaCombo.iterator();
System.out.println("LISTA HASH: ");
System.out.println(listaCombo);
if(!it.hasNext()){ System.out.println("LA TABLA NO TIENE ELEMENTOS");
nodog.remove(jLabel3);
CampoNom.setPreferredSize(new java.awt.Dimension(106, 20));
}
else{
CampoAtrib = new JComboBox();
int i=0;
while(it.hasNext()){
if(i==0)CampoAtrib.addItem(it.next().toString());
else CampoAtrib.insertItemAt(it.next().toString(), i);
i++;
}
System.out.println("Hemos insertado en la tabla: "+CampoAtrib.getItemCount()+" elementos");
System.out.println(" El elem 1 es: ");
System.out.println(CampoAtrib.getItemAt(1));
CampoAtrib.setPreferredSize(new java.awt.Dimension(97, 20));

CampoAtrib.addActionListener(new ActionListener() {
@SuppressWarnings("unchecked")
@Override
public void actionPerformed(ActionEvent e) {
JComboBox cb = (JComboBox)e.getSource();
    String newSelection = (String)cb.getSelectedItem();
//AQUI ES DONDE ESCRIBES EL VALOR Q TIENE EL ID
// Accion a realizar cuando el JComboBox cambia de item seleccionado.
//Entry<String, String> val=(Entry<String, String>) CampoAtrib.getSelectedItem();
// CampoValAtrib.setText(val.getValue().toString());
CampoValAtrib.setText(newSelection);
}
});
this.add(CampoAtrib);


gracias

1mpuls0

abc

Fran88

yo utilizo un metodo de la tabla hash q me devuelve una lista de tipo Iterable, pero no sera dificil pasarla a ArrayList...
Voy a echar un vistazo a lo q me has pasado, gracias!

Fran88