Paginação de ResultSet

Prezados Srs. do Portal Java,

Tenho um probleminha a reolver. tenho uma busca no banco que me retorna muitas linhas e necessito paginar para retornar de vinte em vinte, existe uma maneira de fazer isso com métodos do ResultSet ou algo parecido???
Abaixo segue o meu select simples!

[code] Connection con = DataConnect.connectDb();

 Statement stmt = con.createStatement();
 
 String sql = null;  
      
 if (teste.equals("cod")){
      
    sql = "select * from dbamv.v_estoque_atual where cd_especie = '"+numero+"' order by cd_produto";
  
 } else if (teste.equals("desc")) {
      
    sql = "select * from dbamv.v_estoque_atual where cd_especie = '"+numero+"' order by ds_produto";
 
 } else {
     
    sql = "select * from dbamv.v_estoque_atual where cd_especie = '"+numero+"' order by ds_produto";
 }


  ResultSet rs = stmt.executeQuery(sql);
         
  TrataBotao bot = new TrataBotao();
  HintEstoque he = new HintEstoque();
  
    //faz primeira busca no banco de dados
              
    while (rs.next()){

  
    int cd_produto = rs.getInt("cd_produto");
    String ds_produto = rs.getString("ds_produto");
    String ds_unidade = rs.getString("ds_unidade");
    int qt_atual = rs.getInt("qt_atual");
    int qt_ult_cons = rs.getInt("qt_ultimo_consumo");
    double qt_cons_medio = rs.getDouble("qt_consumo_medio");[/code]

Se alguém puder ajudar eu agradeço bastante!

Dica: Utilize a displaytag.

http://www.portaljava.com/home/modules.php?name=Content&pa=showpage&pid=155