Gente tenho uma variavel que guarda a posição atual, mas qdo eu tento validar
minhaLista.get(posicao + 1) != null;
continue andando;
else
pare
ele simplesmente não manda parar qdo minha lista tem só um elemento se eu colocar 2 ele funciona! :?
alguma idéia?
tmf
#2
posta teu código aí pra a gente te ajudar.
ok ok!
tenho os metodos na classe que contem o List
Pega a proxima pessoa da lista, não uso esse metodo para validar pq irá incrementar na variavel que eu percorro a lista sem percorre-la
public Pessoa proximaPessoaDaLista() throws NoSuchElementException, IndexOutOfBoundsException{
if(getTamanhoLista() == 1){
return cadPessoas.get(0);
}
else if(cadPessoas.get(posicao + 1) == null){
return null;
}
else{
return cadPessoas.get(++posicao);
}
}
retorna se ta vazia
public boolean estaVazia(){
return getTamanhoLista() <= 0;
}
evento da GUI
[code]private void btnProximoElemActionPerformed(java.awt.event.ActionEvent evt) {
try{
if(!getCadastroDePessoas().estaVazia()){
// Lista com apenas um elemento
txtNome.setText(getCadastroDePessoas().proximaPessoaDaLista().getNome());
txtBairro.setText(getCadastroDePessoas().pessoaPosicaoAtual().getBairro());
txtCidade.setText(getCadastroDePessoas().pessoaPosicaoAtual().getCidade());
txtEndereco.setText(getCadastroDePessoas().pessoaPosicaoAtual().getEndereco());
txtTelefone.setText(getCadastroDePessoas().pessoaPosicaoAtual().getTelefone());
txtEmailGeral.setText(getCadastroDePessoas().pessoaPosicaoAtual().getEmail());
txtFormatCpf.setText(getCadastroDePessoas().pessoaPosicaoAtual().getCpf());
txtFormatCnpj.setText(getCadastroDePessoas().pessoaPosicaoAtual().getCnpj());
txtUF.setText(getCadastroDePessoas().pessoaPosicaoAtual().getUf());
txtFax.setText(getCadastroDePessoas().pessoaPosicaoAtual().getFax());
txtApelido.setText(getCadastroDePessoas().pessoaPosicaoAtual().getApelido());
txtHomePage.setText(getCadastroDePessoas().pessoaPosicaoAtual().getHomepage());
txtFormatCep.setText(getCadastroDePessoas().pessoaPosicaoAtual().getCep());
txtPosicaoLista.setText(String.valueOf(getCadastroDePessoas().getPosicao()));
if(getCadastroDePessoas().pessoaPosicaoAtual().getDataOrigem() != null){
Date data = getCadastroDePessoas().pessoaPosicaoAtual().getDataOrigem();
txtFormatDataOrigem.setText(sdf.format(data));
}
}
else{
JOptionPane.showMessageDialog(null, "Não há proximo registro", "ERRO", JOptionPane.ERROR_MESSAGE);
}
}
catch(IndexOutOfBoundsException iofbe){
JOptionPane.showMessageDialog(null, "Não há proximo registro", "ERRO", JOptionPane.ERROR_MESSAGE);
}
catch(NumberFormatException nfe){
nfe.printStackTrace();
}
} [/code]