Tenho um combobox que precisa trazer numa tela de funcionários uma lista de funções, eu criei a tabela de funções no banco de dados com algumas informações para teste e populei a combobox com essas informações, até ai tudo bem, porém quando testo a aplicação ao invés de a tela trazer todas as funções que cadastrei, ela traz a última função repetida pela quantidade de funções cadastradas. Conforme telas abaixo:
Segue abaixo o código em que eu listo as funções:
public Vector<Funcao> listarFuncao() throws Exception{
Funcao fun = new Funcao();
String sql = "select * from funcao order by funcao_desc";
Vector<Funcao> funcoes = new Vector<Funcao>();
pst = conectbd().prepareStatement(sql);
rs = pst.executeQuery();
while (rs.next()){
fun.setCodigo(rs.getInt("funcao_cod"));
fun.setDescricao(rs.getString("funcao_desc"));
funcoes.add(fun);
}
return funcoes;
}
abaixo o metódo em que eu populo a combobox:
public void populaCombobox(){
try{
Dao = new funcionarioData();
f = new Funcionario();
fun = new Funcao();
funcoes = Dao.listarFuncao();
func_funcao.setModel( new DefaultComboBoxModel(funcoes));
}catch(Exception e){
JOptionPane.showMessageDialog(this, e.getMessage());
}
}