Caros colegas, estou com dúvida em relação a fazer a navegação dos registros sendo que se encontram num arraylist.
Este métodos recuperam os dados do banco:
1: na classe DAO
public static ArrayList<UsuarioModel> RecuperarObjetos(String filtro){
ResultSet dados = GetUsuarioBD(filtro);
ArrayList<UsuarioModel> listausuarios = new ArrayList<UsuarioModel>();
try{
while(dados.next()){
UsuarioModel user = new UsuarioModel();
user.setCodigo(dados.getInt("codigo"));
user.setNome(dados.getString("nome"));
user.setLogin(dados.getString("login"));
user.setSenha(dados.getString("senha"));
listausuarios.add(user);
}
}catch(SQLException erro){
JOptionPane.showMessageDialog(null, "Erro no método: RecuperarObjetos\n"+erro+"\n"+erro.getMessage());
}catch(NullPointerException erro){
return listausuarios;
}
return listausuarios;
}
[code]private static ResultSet GetUsuarioBD(String swhere){
Connection con = (Connection) FabricaConexao.getConexao();
ResultSet rst = null;
String sql = "select * from usuario where codigo > 0 " +swhere;
try{
PreparedStatement stm = con.prepareStatement(sql);
rst = stm.executeQuery();
}catch(SQLException erro){
JOptionPane.showMessageDialog(null, "Erro no método: GetUsusarioBD()\n"+erro+"\n"+erro.getMessage());
}
return rst;
}[/code]
2: na classe controller
[code]public static ArrayList RecuperarUsuarios(){
ArrayList lista = UsuarioDAO.RecuperarObjetos("");
if(lista.isEmpty())
return null;
return lista;
}[/code]
Portanto na classe view sei que a cada posição da lista retornada preciso setar os campos da interface, mas não estou conseguindo ver a forma de fazer com que a cada clique seja avançar ou retornar nesta lista.
Se puderem me dar umas dicas de como fazer ou mesmo uma outra forma mais prática de ser feita.
Obrigado pela atenção.