mano,olha soh , nao tive tempo de ficar vendo seu codigo todo nao , soh fiz oq se pediu mas aviso logo, a sua variavel Lista tava toda errada 
tipo assim , vc tava inserindo strings e ints nela, soh q JAVA eh OO entao o ideal eh criar um objeto com esses atriburtos e entao inseri-los no ArrayList, aproposito , o atributo deveria ser private a meu ver e em vez de Lista use lista pois em java temos como padrao q variaveis começam sempre com letras minusculas. nao entendo mto , comecei a aprender sobre isso agora, portant se eu falei alguma bobagem , por favor me corrijam. 
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.*;
import java.util.*;
import javax.swing.border.*;
import java.awt.*;
public class Exercicio extends JFrame implements ActionListener{
private JTextField txt_nome, txt_idade;
private JButton B1, B2, B3, B4, B5, B6, B7;
private JLabel L1, L2;
public ArrayList<Usuario> Lista;
// Criaçao do conteiner
public Exercicio() {
super("Cadastro de pessoas");
Container c= this.getContentPane();//getContentPane().setLayout(null);
c.setLayout(null); // 2 sem isso
Lista = new ArrayList<Usuario>();
// Criaçao das caixas de texto do conteiner
L1= new JLabel("Nome");
L1.setBounds(10,5,40,20);
//getContentPane().add(L1);
c.add(L1);
txt_nome= new JTextField();
txt_nome.setBounds(62,5, 80, 20);
//getContentPane().add(txt_nome);
c.add(txt_nome);
L2= new JLabel("Idade");
L2.setBounds(220,5,50,20);
c.add(L2);
txt_idade=new JTextField("");
txt_idade.setBounds(255,5,30,20);
c.add(txt_idade);
B1= new JButton ("Cadastrar");
B1.setBounds(10,40,110,20);
B1.addActionListener(this);
//getContentPane().add(B1);
c.add(B1);
B2= new JButton ("Pesquisar");
B2.setBounds(130,40,110,20);
B2.addActionListener(this);
c.add(B2);
B3= new JButton ("Primeiro");
B3.setBounds(10,70,110,20);
B3.addActionListener(this);
c.add(B3);
B4= new JButton ("Proximo");
B4.setBounds(130,70,110,20);
B4.addActionListener(this);
c.add(B4);
B5= new JButton ("Anterior");
B5.setBounds(250,70,110,20);
B5.addActionListener(this);
c.add(B5);
B6= new JButton ("Ultimo");
B6.setBounds(370,70,110,20);
B6.addActionListener(this);
c.add(B6);
setSize(600,400);
setVisible(true);
setDefaultCloseOperation(3);
} //Fim da classe
// Trata as açoes
public void actionPerformed(ActionEvent ev){
if(ev.getSource()==B1){// Verifica se é o botao
//Lista = new ArrayList();
cadastrar();} // se for chama a funcao cadastrar
else if(ev.getSource()==B2)
pesquisar();
}
//Metodo cadastro
public void cadastrar(){
Lista.add(new Usuario(txt_nome.getText(),Integer.parseInt(txt_idade.getText())));//iclui no array e captura o texto
JOptionPane.showMessageDialog(this, "Nome Cadastrado: " +txt_nome.getText()+ "Idade: "+txt_idade.getText());// Apresenta o nome cadastrado
txt_nome.setText(null);//limpa o espaço anterior
txt_nome.requestFocus();//Retorna ao foco
txt_idade.setText(null);
}
public void pesquisar(){
String p= JOptionPane.showInputDialog(this,"Digite o nome a pesquisar");
for (int i =0;i<Lista.size();i++){
if(Lista.get(i).getNome().equals(p)){
JOptionPane.showMessageDialog(this,"Nome cadastrado: " +Lista.get(i).getNome() + "Idade: " +Lista.get(i).getIdade());
p=null;
break;
}
}
if(p!=null)
JOptionPane.showMessageDialog(this, "Nome nao encontrado");
}
protected class Usuario{
private int idade;
private String nome;
Usuario(String nome,int idade){
this.nome = nome;
this.idade = idade;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
public static void main(String args[]){
Exercicio app = new Exercicio();
app.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
}//Fim da main
}//Fim do construtor
a proposito , use a tag code sempre q postar codigos 