Problema em verificar se há proximo[RESOLVIDO]

2 respostas
guisantogui

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?

2 Respostas

T

posta teu código aí pra a gente te ajudar.

guisantogui

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

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();
        }
    }
Criado 23 de abril de 2010
Ultima resposta 23 de abr. de 2010
Respostas 2
Participantes 2