Ola pessoa tudo bom?
Alguem conhece o dbNavegator do delphi?A ideia é simple , navegar pelos registro, primeiro,proximo,anterior,ultimo.
Tentei implementa isso em java , funcionou, mais ficou ridiculo totalmente gambiarra,vejam…
pessoa = new Pessoa();
contador = pessoa.buscaTodos().size() - 1;
txtCodigo.setText(String.valueOf(pessoa.buscaTodos().lastElement().getCodigo()));
txtNome.setText(pessoa.buscaTodos().lastElement().getNome());
txtRg.setText(pessoa.buscaTodos().lastElement().getRg());
txtCpf.setText(pessoa.buscaTodos().lastElement().getCpf());
txtDataNascimento.setText(pessoa.buscaTodos().lastElement().getDataNascimento());
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnNovo){
}
if (e.getSource() == btnAlterar){
}
if (e.getSource() == btnApagar){
}
if (e.getSource() == btnCancelar){
}
if (e.getSource() == btnGravar){
pessoa = new Pessoa(Integer.parseInt(txtCodigo.getText()) , txtNome.getText() , txtRg.getText(), txtCpf.getText() , txtDataNascimento.getText() , cmbSexo.getToolTipText());
pessoa.grava();
JOptionPane.showMessageDialog(null, "Cliente Gravado com sucesso");
}
if (e.getSource() == btnPrimeiro){
contador = 0;
txtCodigo.setText(String.valueOf(pessoa.buscaTodos().firstElement().getCodigo()));
txtNome.setText(pessoa.buscaTodos().firstElement().getNome());
txtRg.setText(pessoa.buscaTodos().firstElement().getRg());
txtCpf.setText(pessoa.buscaTodos().firstElement().getCpf());
txtDataNascimento.setText(pessoa.buscaTodos().firstElement().getDataNascimento());
}
if (e.getSource() == btnAnterior){
if ( contador > 0){
contador--;
txtCodigo.setText(String.valueOf(pessoa.buscaTodos().get(contador).getCodigo()));
txtNome.setText(pessoa.buscaTodos().get(contador).getNome());
txtRg.setText(pessoa.buscaTodos().get(contador).getRg());
txtCpf.setText(pessoa.buscaTodos().get(contador).getCpf());
txtDataNascimento.setText(pessoa.buscaTodos().get(contador).getDataNascimento());
}
}
if (e.getSource() == btnProximo){
if (contador < pessoa.buscaTodos().size() - 1){
contador++;
txtCodigo.setText(String.valueOf(pessoa.buscaTodos().get(contador).getCodigo()));
txtNome.setText(pessoa.buscaTodos().get(contador).getNome());
txtRg.setText(pessoa.buscaTodos().get(contador).getRg());
txtCpf.setText(pessoa.buscaTodos().get(contador).getCpf());
txtDataNascimento.setText(pessoa.buscaTodos().get(contador).getDataNascimento());
}
}
if (e.getSource() == btnUltimo){
contador = pessoa.buscaTodos().size() - 1;
txtCodigo.setText(String.valueOf(pessoa.buscaTodos().lastElement().getCodigo()));
txtNome.setText(pessoa.buscaTodos().lastElement().getNome());
txtRg.setText(pessoa.buscaTodos().lastElement().getRg());
txtCpf.setText(pessoa.buscaTodos().lastElement().getCpf());
txtDataNascimento.setText(pessoa.buscaTodos().lastElement().getDataNascimento());
}
}
Mais eu não ia usar esse lixo né, ai pensei em usar metodos dentro da classe pessoa, que é a classe em questao, tipo:
pessoa.proximaPessoa.
pessoa.ultimaPessoa.
usando Vector e Iterator e ListIterator, ACHO que ficou bem melhor, porem o proximo e anterior nao está funcionando queria saber porque…
Classe Pessoa
package VO;
import java.util.Vector;
import DAO.PessoaDao;
public class Pessoa {
private int codigo;
private String nome;
private String rg;
private String cpf;
private String dataNascimento;
private String sexo;
private PessoaDao pessoaDao = new PessoaDao();
public Pessoa(){
}
public Pessoa(int codigo, String nome , String rg , String cpf , String dataNascimento, String sexo){
setCodigo(codigo);
setNome(nome);
setRg(rg);
setCpf(cpf);
setDataNascimento(dataNascimento);
setSexo(sexo);
}
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;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(String dataNascimento) {
this.dataNascimento = dataNascimento;
}
public String getSexo() {
return sexo;
}
public void setSexo(String sexo) {
this.sexo = sexo;
}
public void gravar() {
pessoaDao = new PessoaDao();
pessoaDao.gravar(this);
}
public void apagar(){
pessoaDao = new PessoaDao();
pessoaDao.apagar(this);
}
public void alterar(){
pessoaDao = new PessoaDao();
pessoaDao.alterar(this);
}
public static Vector<Pessoa> listarPessoas(){
return PessoaDao.listarPessoas();
}
public static Pessoa listarPrimeiro(){
return listarPessoas().firstElement();
}
public static Pessoa listarProximo(){
return listarPessoas().iterator().next();
}
public static Pessoa listarAnterior(){
return listarPessoas().listIterator().previous();
}
public static Pessoa listarUltimo(){
return listarPessoas().lastElement();
}
}
Classe PessoaForm(swing)
if (e.getSource() == btnPrimeiro){
txtCodigo.setText(String.valueOf(Pessoa.listarPrimeiro().getCodigo()));
txtNome.setText(Pessoa.listarPrimeiro().getNome());
txtRg.setText(Pessoa.listarPrimeiro().getRg());
txtCpf.setText(Pessoa.listarPrimeiro().getCpf());
txtDataNascimento.setText(Pessoa.listarPrimeiro().getDataNascimento());
}
if (e.getSource() == btnAnterior){
txtCodigo.setText(String.valueOf(Pessoa.listarAnterior().getCodigo()));
txtNome.setText(Pessoa.listarAnterior().getNome());
txtRg.setText(Pessoa.listarAnterior().getRg());
txtCpf.setText(Pessoa.listarAnterior().getCpf());
txtDataNascimento.setText(Pessoa.listarAnterior().getDataNascimento());
}
if (e.getSource() == btnProximo){
txtCodigo.setText(String.valueOf(Pessoa.listarProximo().getCodigo()));
txtNome.setText(Pessoa.listarProximo().getNome());
txtRg.setText(Pessoa.listarProximo().getRg());
txtCpf.setText(Pessoa.listarProximo().getCpf());
txtDataNascimento.setText(Pessoa.listarProximo().getDataNascimento());
}
if (e.getSource() == btnUltimo){
txtCodigo.setText(String.valueOf(Pessoa.listarUltimo().getCodigo()));
txtNome.setText(Pessoa.listarUltimo().getNome());
txtRg.setText(Pessoa.listarUltimo().getRg());
txtCpf.setText(Pessoa.listarUltimo().getCpf());
txtDataNascimento.setText(Pessoa.listarUltimo().getDataNascimento());
}
Ah eu tive em ideia apenas essas duas formas, QUERIA SABER SE EXISTE UM JEITO MAIS CORRETO DE ESTAR FAZENDO ISSO…
Obrigado…
