Paginação com ArrayList

Ola

Quero razer uma paginação de resultados no meu JFrame, quando usava um simples array funcionava tranquilo mas resolvi usar ArrayList e não sei como passar e pegar os parametros, sou novata em Java.


// Este metodo é para preencher  

public ArrayList buscaProcedimento(int contador){
		  String sql =("SELECT * FROM tblprocedimento");	
		  int cont = 0;
		  
		  try{  
	        	bd.conex();
		    	bd.pstm = bd.con.prepareStatement(sql);
		    	bd.pstm.execute();
		    	
	            while(bd.rs.next()){
	            	cont++;
	            	Variaveis v = new  Variaveis();
	            	v.setIdProcedimento(bd.rs.getInt(1));
	    			v.setCodigoProcedimento( bd.rs.getInt(2));
	    			v.setNomeProcedimento(bd.rs.getString(3));
	    			v.setObsprocedimento(bd.rs.getString(4));
	    			procedimentos.add(v);
	            }
	            System.out.println("v");
		      }catch (SQLException e) {			
		       e.printStackTrace();
	        }
		return procedimentos;		
	 
}

Esta dando o seguinte erro

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Agendamento.MetodosAgendamento.buscaProcedimento(MetodosAgendamento.java:90)
at Agendamento.IProcedimento$2.actionPerformed(IProcedimento.java:239)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Na Botão que chamo o metodo buscaProcedimento tem o seguinte código

private JButton getDireita() {
	if (direita == null) {
		direita = new JButton();
		direita.setFont(new Font("Dialog", Font.BOLD, 12));
		direita.setBounds(new Rectangle(240, 54, 76, 21));
		direita.setText(">>");
		direita.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
				cont++;
				if(magendamento.buscaProcedimento(cont)==null){
					cont--;
				}else{
				magendamento.buscaProcedimento(cont);
				
				}					
			}
		});
	
			
	}
	return direita;
}

Fico no aquardo… obrigado.

você instanciou o seu ArrayList chamado procedimentos??! O que tem na linha 90 é esse trecho de código: procedimentos.add(v);
Se sim é esse o seu problema e cuja solução seria esta

[code]
public ArrayList buscaProcedimento(int contador){
String sql =(“SELECT * FROM tblprocedimento”);
int cont = 0;
List procedimentos = new ArrayList();
try{
bd.conex();
bd.pstm = bd.con.prepareStatement(sql);
bd.pstm.execute();

            while(bd.rs.next()){   
                cont++;   
                Variaveis v = new  Variaveis();   
                v.setIdProcedimento(bd.rs.getInt(1));   
                v.setCodigoProcedimento( bd.rs.getInt(2));   
                v.setNomeProcedimento(bd.rs.getString(3));   
                v.setObsprocedimento(bd.rs.getString(4));   
                procedimentos.add(v);   
            }   
            System.out.println("v");   
          }catch (SQLException e) {           
           e.printStackTrace();   
        }   
    return procedimentos;         

} [/code]

Valeu Tiago…
Mas continua dando o mesmo o erro, que é nesta parte do código:

  while(bd.rs.next()){     

Se alguem souber o que pode ser, please da um tok.

   public ArrayList buscaProcedimento(int contador){     
             String sql =("SELECT * FROM tblprocedimento");         
             int cont = 0;     
              List procedimentos = new ArrayList();  
              try{       
                    bd.conex();     
                    bd.pstm = bd.con.prepareStatement(sql);     
                    bd.pstm.execute();     
                         
                   while(bd.rs.next()){     
                       cont++;     
                       Variaveis v = new  Variaveis();     
                       v.setIdProcedimento(bd.rs.getInt(1));     
                       v.setCodigoProcedimento( bd.rs.getInt(2));     
                       v.setNomeProcedimento(bd.rs.getString(3));     
                       v.setObsprocedimento(bd.rs.getString(4));     
                       procedimentos.add(v);     
                   }     
                   System.out.println("v");     
                 }catch (SQLException e) {             
                  e.printStackTrace();     
               }     
           return procedimentos;           
            
   }    

Descobri o erro…
Estava no mais básico que era a busca no banco:

 public ArrayList buscaProcedimento(int contador){       
           
            List procedimentos = new ArrayList();    

            try{         
                  bd.conex();   
    
                  bd.rs = bd.stm.executeQuery("SELECT * FROM tblprocedimento");	
	        			
                         
                 while(bd.rs.next()){       
                     cont++;       
                     Variaveis v = new  Variaveis();       
                     v.setIdProcedimento(bd.rs.getInt(1));       
                     v.setCodigoProcedimento( bd.rs.getInt(2));       
                     v.setNomeProcedimento(bd.rs.getString(3));       
                     v.setObsprocedimento(bd.rs.getString(4));       
                     procedimentos.add(v);       
                 }       
                 System.out.println("v");       
               }catch (SQLException e) {               
                e.printStackTrace();       
             }       
         return procedimentos;             
            
 }     

Falou este agora esta correto… falow