Vamos lá man…
Fiz um trechinho de código pra te ajudar… mas nesse eu estou usando um Javabeans chamado Item…
Esse é o POJO
package test;
public class Item {
private int codigo;
private String nome;
public Item() {
}
public Item(int codigo, String nome) {
this.codigo = codigo;
this.nome = nome;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public String toString() {
return nome;
}
}
Essa é a classe que gerencia o DBNavigator
package test;
import java.util.List;
public class DBNavigatorDAO {
private List<Item> list;
private int index;
public DBNavigatorDAO(List<Item> list) throws Exception {
if (list.size() > 0) {
this.list = list;
index = 0;
} else {
throw new Exception("A lista deve conter ao menos 1 item");
}
}
public Item getFirstItem() {
index = 0;
return getCurrentItem();
}
public Item getLastItem() {
index = list.size() - 1;
return getCurrentItem();
}
public Item getNextItem() throws Exception {
if (getIndex() < list.size() - 1) {
index++;
return getCurrentItem();
} else {
throw new Exception("Este é o ultimo item");
}
}
public Item getPreviousItem() throws Exception {
if (getIndex() > 0) {
index--;
return getCurrentItem();
} else {
throw new Exception("Este é o primeiro item");
}
}
public int getIndex() {
return index;
}
private Item getCurrentItem() {
return list.get(index);
}
}
E essa é a classe de Test
package test;
import java.util.ArrayList;
import java.util.List;
public class MainDBNavigatorTest {
public static void main(String[] args) throws Exception {
List<Item> listItems = new ArrayList<Item>();
listItems.add(new Item(1, "Test1"));
listItems.add(new Item(2, "Test2"));
listItems.add(new Item(3, "Test3"));
DBNavigatorDAO dao = new DBNavigatorDAO(listItems);
System.out.println(dao.getFirstItem());
System.out.println(dao.getNextItem());
System.out.println(dao.getNextItem());
System.out.println(dao.getLastItem());
System.out.println(dao.getPreviousItem());
System.out.println(dao.getPreviousItem());
System.out.println(dao.getFirstItem());
}
}
O Funcionamento é simples… a classe DBNavigatorDAO controla o index interno do List… ao chamar O next ou previous , voce pode receber duas respostas:
Ou o objeto desejado… ou uma exceção dizendo que voce chegou ao limite da lista…
sendo assim tudo o que voce tem que fazer é um try-catch nesses botões.
Intéh man