IndexOutOfBoundsException?

Gente meu sistema ta lançando uma IndexOutOfBoundsException, mas jah fiz varios if’s para não deixar executar o metodo q lança a excessão!
Naum sei pq ta lançando!

oh os trechos do codigo!

GUI

private void btnCadastroDePessoasActionPerformed(java.awt.event.ActionEvent evt) {                                                     
        janelaCadPessoas.setVisible(true);
        if(!(cdp.primeiraPessoaDaLista().getApelido().trim().equals("")))
           janelaCadPessoas.getTxtApelido().setText(cdp.primeiraPessoaDaLista().getApelido());
        if(!(cdp.primeiraPessoaDaLista().getCep()).trim().equals(""))
           janelaCadPessoas.getTxtCep().setText(cdp.primeiraPessoaDaLista().getCep());
        if(!(cdp.primeiraPessoaDaLista().getFax()).trim().equals(""))
           janelaCadPessoas.getTxtFax().setText(cdp.primeiraPessoaDaLista().getFax());
        if(!(cdp.primeiraPessoaDaLista().getHomepage()).trim().equals(""))
           janelaCadPessoas.getTxtHomePage().setText(cdp.primeiraPessoaDaLista().getHomepage());
        
        try{
            if(janelaCadPessoas.getCadastroDePessoas().getLista().size() > 0){
               janelaCadPessoas.getTxtPosicaoLista().setText(String.valueOf(cdp.getPosicao()));
               janelaCadPessoas.getTxtNome().setText(cdp.primeiraPessoaDaLista().getNome());
               janelaCadPessoas.getTxtBairro().setText(cdp.primeiraPessoaDaLista().getBairro());
               janelaCadPessoas.getTxtCidade().setText(cdp.primeiraPessoaDaLista().getCidade());
               janelaCadPessoas.getTxtEndereco().setText(cdp.primeiraPessoaDaLista().getEndereco());
               janelaCadPessoas.getTxtEmailGeral().setText(cdp.primeiraPessoaDaLista().getEmailGeral());
               janelaCadPessoas.getTxtUf().setText(cdp.primeiraPessoaDaLista().getUf());
               janelaCadPessoas.getTxtTelefone().setText(cdp.primeiraPessoaDaLista().getTelefone());
            }
        }
        catch(IndexOutOfBoundsException ioofbe){
            JOptionPane.showMessageDialog(null, "Não há registros cadastrados", "Aviso", JOptionPane.WARNING_MESSAGE);
        }
    }

Metodo q lança! PS.: excessão tratada!

public Pessoa primeiraPessoaDaLista(){
        try{
            return lista.get(0);
        }
        catch(IndexOutOfBoundsException ie){
            ie.printStackTrace();
        }
        catch(NoSuchElementException nsee){
            nsee.printStackTrace();
        }
        return null;
    }

Erro

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.RangeCheck(ArrayList.java:547)
        at java.util.ArrayList.get(ArrayList.java:322)
        at Classes.CadastroDePessoas.primeiraPessoaDaLista(CadastroDePessoas.java:43)
        at Interface.JanelaMenuPrincipal.btnCadastroDePessoasActionPerformed(JanelaMenuPrincipal.java:216)
        at Interface.JanelaMenuPrincipal.access$000(JanelaMenuPrincipal.java:12)
        at Interface.JanelaMenuPrincipal$1.actionPerformed(JanelaMenuPrincipal.java:84)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at Interface.JanelaMenuPrincipal.btnCadastroDePessoasActionPerformed(JanelaMenuPrincipal.java:216)
        at Interface.JanelaMenuPrincipal.access$000(JanelaMenuPrincipal.java:12)
        at Interface.JanelaMenuPrincipal$1.actionPerformed(JanelaMenuPrincipal.java:84)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

PS.: ta estourando uma nullpointer tb, mas nem sei o pq! :confused:

Vlw! :wink:

Pense e responda:

Como se retorna a primeira pessoa de uma lista que está vazia?

Por que a lista está vazia. Isto é possível de acordo com as regras do teu negócio?

Como chamo um método de instância de objetos, se o objeto não está instanciado (isto é, o objeto está nulo)?

É possível que hajam objetos nulos no sistema? Se sim, por que não foram tratados especialmente?

A lista dele num tá nula nao… mas tá vazia…