Proximo, anterior e ultimo como implementar numa arraylist atraves de botoes

Alguem pode me dizer como faço pra qdo clicar num botao,por exemplo botao proximo,ele me apresenta o proximo nome de uma lista atraves de uma janela.

EDIT - Por favor, digite as coisas em minúsculas. Digitar tudo em maiúsculas não vai fazer ninguém atendê-lo mais rápido - até as mensagens SMS do seu celular aparecem em minúsculas…

A sua dúvida está em abrir uma nova janela, ou percorrer um arraylist.

Se você for fazer isso usando ArrayList, você terá que adicionar índices para esses valores.
Exemplo:

List list = new ArrayList();
list.add(0,"Java");
list.add(1,"NET");
list.add(2,"Ruby");
list.add(3,"Cobol");

No exemplo acima, você pode recuperar o valor através do indice dele

System.out.println(list.get(0)); //no caso retorna "Java"

o codigo é esse, os dados sao inseridos pelo usuario. primeiro o usuario deve clicar em primeiro pra saber qual o primeiro nome, por isso o botao proximo deveria ficar desabilitado, depois de clicado em primeiro poderia habilitar o botao proximo e apresentar o nome e idade. nao sei se da pra entender.

import java.awt.Container;  
import java.awt.event.*;  
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
 
cadastrar();} // se for chama a funcao cadastrar  
else if(ev.getSource()==B2)  
pesquisar(); 
else if (ev.getSource()==B3)
proximo();	
}  
 
public void proximo() {
	
	
}

//Metodo cadastro  
public void cadastrar(){  
 
lista.add(new Usuario(txt_nome.getText(),Integer.parseInt(txt_idade.getText())));//iclui no array e captura o texto, foi usado integer.parserint para poder ler uma string e obter seu valor int 
 
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 não encontrado!");  
 
}
 
public 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 

[/quote]>

ja ouviu falar no conceito pilha?
o java ja tem essa classe implementada(Stack),sendo q vc vai ter q fzr do jeito q vc quer, usando eventos e tudo mias.

Bom dia colegas !

   public Usuario proximo(usuarioAtual) {            
        if (lista.indexOf(usuarioAtual) <  lista.size() - 1)
                return lista.get(lista.indexOf(usuarioAtual)+1);  
        else 
                return usuarioAtual;
    }

Considerando que você tem um objeto da classe Usuario que é o que esta sendo mostrado no momento.

Com o retorno do método proximo, vc atualiza os TextField correspondentes.

Se é que a dúvida era essa…

Um abraço,