Então galera eu criei uma list com banco de dados, porém na hora de retornar ela, mostra o ultimo cadastro 3 vezes ( no bd tem 3 horarios cadastrados)
public static void preenchendoCB(){
jCBHorario.removeAllItems();
Controlador c = new Controlador();
List<Horario> lista = c.listarHorarios();
DefaultComboBoxModel defaultComboBox = new DefaultComboBoxModel();
for ( Horario h : lista ) {
defaultComboBox.addElement( h.getHorario());
}
jCBHorario.setModel(defaultComboBox);
}
Controller
[code] public List listarHorarios(){
List horarios = dao.listarHorarios();
return horarios;
}[/code]
DAO
[code] public List listarHorarios(){
ResultSet RS;
Horario h = new Horario();
String select=“select * from horario”;
List horarios = new ArrayList<>();
try {
RS = inserir.Consulta(select);
while(RS.next()){
h.setHorario(RS.getString(“horario”));
horarios.add(h);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
try {
inserir.Exit();
} catch (SQLException ex) {
Logger.getLogger(NovoAgendamento.class.getName()).log(Level.SEVERE, null, ex);
}
JOptionPane.showMessageDialog(null, horarios);
return horarios;
} [/code]
Coloquei um JOptionPane.showMessageDialog dentro do whilhe(RS.Next()) e mostrou todos os 3 cadastrados…
Porem na parte do view(1 codigo que postei) o comboBox fica preenchido somento com o ultimo horario buscado
Alguem pode me ajudar?