y tengo estos métodos y clases:
clase Pais
Código
import java.sql.ResultSet; import java.sql.SQLException; public class Pais { if(result != null){ this.Iso = result.getString("iso").toString(); this.Nombre = result.getString("nombre").toString(); } }
clase RepoPais con método findAll();
Código
@Override public Iterable<Pais> FindAll(){ Connection con; Statement st; ResultSet rs; try { con = BDUtils.getConnection(); st = con.createStatement(); rs = st.executeQuery(FindAll); List<Pais> paises = new ArrayList<Pais>(); while(rs.next()){ Pais p = new Pais(); p.Load(rs); paises.add(p); } return paises; return null; }
clase de la visual
la cual en el constructor inicializa los componentes de la visual y luego llama a un método nombrado loadCmb:
Código
El problema reside en este ultimo método loadCmb que tendría que cargarme los nombres de los países devueltos por la base de datos pero en cambio me llena el comboBox con el nombre del primer país devuelto.
@SuppressWarnings("unused") public void loadCmb(){ RepoPais repo = FabricaReposSQL.CrearRepoPais(); Iterable<Pais> p = repo.FindAll(); for (Pais pais : p) { CmbCountry.addItem(p.iterator().next().Nombre.toString()); } }
Dejo imagen para explicarme mejor.
Espero me puedan decir como puedo hacer para que vaya iterando entre la lista de los devueltos así se llena el comboBox con los países devueltos y no con solo uno. Desde ya muchas gracias