Por que os if's não estão funcionando? [RESOLVIDO]

22 respostas
guisantogui

O primeiro if esta ok, o q verifica se há elementos na lista!

Mas todos os outros, os que verificam se o cara da primeira posição tem tal dado não estão funcionando, não era para estar lançando a excessão!

private void btnCadastroDePessoasActionPerformed(java.awt.event.ActionEvent evt) {                                                     
        janelaCadPessoas.setVisible(true);
        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());
               try{
                    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());
                }
                catch(NullPointerException ioob){
                    JOptionPane.showMessageDialog(rootPane, "Talvez as informações sobre os registros, não estejam completas!");
                }
            }
        }
        catch(IndexOutOfBoundsException ioofbe){
            JOptionPane.showMessageDialog(null, "Não há registros cadastrados", "Aviso", JOptionPane.WARNING_MESSAGE);
        }
    }

Sabem o q esta havendo?

22 Respostas

ViniGodoy

Já tentou usar um depurador?

guisantogui

Essa eh um evento da interface grafica, depurador não funciona soh no console?

Mas vou tentar!

ViniGodoy

Não, funciona em todo lugar.

guisantogui

depurei, ele esta pulando do primeiro if direto pro catch!

:?

PS.: to fazendo com “else if” agora!

Scoobydoo

e qual é o erro que da

guisantogui

NullPointerException, pq nem todos os campos são obrigatórios, por isso eu tento validar antes com o if os campos não obrigatorios, mas ele naum ta entrando nos if’s e lançando a exceção direto!

Scoobydoo

if(janelaCadPessoas.getCadastroDePessoas().getLista().size() > 0){

Se o seu erro esta dando aqui, de uma olhada se quando você fais o getCadastroDePessoas() ele não retorna nullo…
NullPointerExeption da quando voce fais um get de alguma coisa que não existe.

guisantogui

Sim, o problema não é neste if e sim nos q testam se os atributos dos registros estão em branco e se sim, ele simplesmente não entra para puxar a informação e jogar na tela, entendeu?

emmanuelrock

Tenta isso:

if(janelaCadPessoas.getCadastroDePessoas().getLista()==null){ }

Se for null é que está vazia, e null.

j0nny

Provavelmente seu janelaCadPessoas não foi instanciado ainda.

guisantogui

olha a GUI completa!

package Interface;

import Classes.CadastroDePessoas;
import Classes.JImagePanel;
import java.io.IOException;
import javax.swing.JOptionPane;

/**
 *
 * @author Guilherme Santos Souza
 */
public class JanelaMenuPrincipal extends javax.swing.JFrame {

    JanelaCadastroDePessoas janelaCadPessoas = new JanelaCadastroDePessoas();
    CadastroDePessoas cdp = janelaCadPessoas.getCadastroDePessoas();
     

    public JanelaMenuPrincipal(){
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        try{
            jPanel1 = new JImagePanel("D:\Pisom\JAVA - projetos\GRÁFICA\Projeto\Grafica\TelaFundo.jpg");
            jLabel1 = new javax.swing.JLabel();
            btnEstoque = new javax.swing.JButton();
            lblEstoque = new javax.swing.JLabel();
            lblComercial = new javax.swing.JLabel();
            lblManutençãoDeFrotas = new javax.swing.JLabel();
            lblCadastroDePessoas = new javax.swing.JLabel();
            lblOperacional = new javax.swing.JLabel();
            lblFinanceiro = new javax.swing.JLabel();
            lblSair = new javax.swing.JLabel();
            btnComercial = new javax.swing.JButton();
            btnManutencaoDeFrotas = new javax.swing.JButton();
            btnCadastroDePessoas = new javax.swing.JButton();
            btnOperacional = new javax.swing.JButton();
            btnFinanceiro = new javax.swing.JButton();
            btnSair = new javax.swing.JButton();

            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setMinimumSize(new java.awt.Dimension(700, 511));
            setResizable(false);

        }
        catch(IOException e){
            e.printStackTrace();
        }
        jPanel1.setMaximumSize(new java.awt.Dimension(700, 511));
        jPanel1.setMinimumSize(new java.awt.Dimension(700, 511));
        jPanel1.setPreferredSize(new java.awt.Dimension(700, 511));

        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18));
        jLabel1.setText("Menu Principal");

        btnEstoque.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Interface/BotaoEstoque.jpg"))); // NOI18N
        btnEstoque.setMinimumSize(new java.awt.Dimension(50, 50));
        btnEstoque.setPreferredSize(new java.awt.Dimension(75, 60));

        lblEstoque.setText("Estoque");

        lblComercial.setText("Comercial");

        lblManutençãoDeFrotas.setText("Manutenção de Frotas");

        lblCadastroDePessoas.setText("Cadastro de Pessoas");

        lblOperacional.setText("Operacional");

        lblFinanceiro.setText("Financeiro");

        lblSair.setText("Sair");

        btnComercial.setText("(Aqui icone)");

        btnManutencaoDeFrotas.setText("(Aqui icone)");

        btnCadastroDePessoas.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Interface/Pessoas.JPG"))); // NOI18N
        btnCadastroDePessoas.setPreferredSize(new java.awt.Dimension(75, 60));
        btnCadastroDePessoas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCadastroDePessoasActionPerformed(evt);
            }
        });

        btnOperacional.setText("(Aqui icone)");

        btnFinanceiro.setText("(Aqui icone)");

        btnSair.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Interface/Exit.JPG"))); // NOI18N
        btnSair.setMaximumSize(new java.awt.Dimension(75, 60));
        btnSair.setPreferredSize(new java.awt.Dimension(75, 60));
        btnSair.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSairActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addGap(48, 48, 48)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(btnFinanceiro, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGroup(jPanel1Layout.createSequentialGroup()
                            .addComponent(btnCadastroDePessoas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
                    .addComponent(btnOperacional, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(22, 22, 22)
                        .addComponent(lblOperacional))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addComponent(lblCadastroDePessoas))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addComponent(lblFinanceiro)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 195, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btnManutencaoDeFrotas)
                    .addComponent(btnComercial)
                    .addComponent(btnEstoque, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblComercial)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(33, 33, 33)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(lblManutençãoDeFrotas)
                            .addComponent(lblEstoque))))
                .addGap(62, 62, 62))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(286, 286, 286)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(btnSair, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(lblSair, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(326, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(43, 43, 43)
                        .addComponent(jLabel1)
                        .addGap(33, 33, 33)
                        .addComponent(btnCadastroDePessoas, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(btnComercial)
                            .addComponent(lblComercial)
                            .addComponent(lblCadastroDePessoas))
                        .addGap(32, 32, 32)))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(65, 65, 65)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(btnOperacional)
                            .addComponent(lblOperacional))
                        .addGap(50, 50, 50))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(btnEstoque, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblEstoque))
                        .addGap(52, 52, 52)))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(btnFinanceiro)
                            .addComponent(lblFinanceiro))
                        .addGap(11, 11, 11)
                        .addComponent(btnSair, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(8, 8, 8)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(btnManutencaoDeFrotas)
                            .addComponent(lblManutençãoDeFrotas))
                        .addGap(43, 43, 43)
                        .addComponent(lblSair)))
                .addContainerGap(40, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 741, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 457, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        

    private void btnSairActionPerformed(java.awt.event.ActionEvent evt) {                                        
        System.exit(0);
    }                                       

    private void btnCadastroDePessoasActionPerformed(java.awt.event.ActionEvent evt) {                                                     
        janelaCadPessoas.setVisible(true);
        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());
               try{
                    if(!(cdp.primeiraPessoaDaLista().getApelido().trim().equals("")))
                        janelaCadPessoas.getTxtApelido().setText(cdp.primeiraPessoaDaLista().getApelido());
                    else if(!(cdp.primeiraPessoaDaLista().getCep().trim().equals("")))
                        janelaCadPessoas.getTxtCep().setText(cdp.primeiraPessoaDaLista().getCep());
                    else if(!(cdp.primeiraPessoaDaLista().getFax().trim().equals("")))
                        janelaCadPessoas.getTxtFax().setText(cdp.primeiraPessoaDaLista().getFax());
                    else if(!(cdp.primeiraPessoaDaLista().getHomepage().trim().equals("")))
                        janelaCadPessoas.getTxtHomePage().setText(cdp.primeiraPessoaDaLista().getHomepage());
                }
                catch(NullPointerException ioob){
                    JOptionPane.showMessageDialog(rootPane, "Talvez as informações sobre os registros, não estejam completas!");
                }
            }
        }
        catch(IndexOutOfBoundsException ioofbe){
            JOptionPane.showMessageDialog(null, "Não há registros cadastrados", "Aviso", JOptionPane.WARNING_MESSAGE);
        }
    }                                                    

    // Variables declaration - do not modify                     
    private javax.swing.JButton btnCadastroDePessoas;
    private javax.swing.JButton btnComercial;
    private javax.swing.JButton btnEstoque;
    private javax.swing.JButton btnFinanceiro;
    private javax.swing.JButton btnManutencaoDeFrotas;
    private javax.swing.JButton btnOperacional;
    private javax.swing.JButton btnSair;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JLabel lblCadastroDePessoas;
    private javax.swing.JLabel lblComercial;
    private javax.swing.JLabel lblEstoque;
    private javax.swing.JLabel lblFinanceiro;
    private javax.swing.JLabel lblManutençãoDeFrotas;
    private javax.swing.JLabel lblOperacional;
    private javax.swing.JLabel lblSair;
    // End of variables declaration                   
}

parece tudo ok!
mas naum esta :?

Scoobydoo
if(!(cdp.primeiraPessoaDaLista().getApelido().trim().equals("")))
Executa em Debuf e ve se esse cdp.primeiraPessoaDaLista() não está nulo voce ta testando se o getApelido não está nulo entende... fais assim
if (cdp != null){
if(cdp.primeiraPessoaDaLista!=null){
 
          if(!(cdp.primeiraPessoaDaLista().getApelido().trim().equals("")))

 }}
guisantogui

Mas eu jah fiz esse teste, pq o cdp recebe um getCadastroDePessoas();

no if acima ele ve se getCadastroDePessoas() > 0!

mas axo q estamos chegando perto!

Scoobydoo

e o

primeiraPessoaDaLista().

Retorna o que

guisantogui

retorna o objeto pessoa que esta na primeira posição (lista.get(0)) da classe CadastroDePessoas!

oh a classe completa!

package Classes;

import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
/**
 *
 * @author Guilherme Santos Souza
 * @version 1.0
 */

public class CadastroDePessoas{

    private List<Pessoa> lista;
    private int posicao = -01;

    public CadastroDePessoas(){
        lista = new ArrayList<Pessoa>();
    }

    public boolean adiciona(Pessoa p){
        return lista.add(p);
    }

    public Pessoa pessoaAnteriorDaLista() throws NoSuchElementException, IndexOutOfBoundsException{
        return lista.get(--posicao);
    }

    public Pessoa proximaPessoaDaLista() throws NoSuchElementException, IndexOutOfBoundsException{
        return lista.get(++posicao);
    }

    public Pessoa posicaoAtual(){
        return lista.get(posicao);
    }

    public Pessoa primeiraPessoaDaLista(){
        return lista.get(0);
    }

    public Pessoa ultimaPessoaDaLista() throws NoSuchElementException, IndexOutOfBoundsException{
        return lista.get(lista.size()-1);
    }
    
    public int primeiraPosicaoDaLista(){
        posicao = 0;
        return posicao;
    }

    public int ultimaPosicaoDaLista(){
        posicao = lista.size()-1;
        return posicao;
    }

    public int getPosicao() {
        return posicao;
    }

    public List<Pessoa> getLista(){
        return lista;
    }

    @Override
    public String toString(){
        StringBuffer s = new StringBuffer();
        for(Pessoa p : lista){
            s.append(p.toString());
        }
        return s.toString();
    }
}
marcelo.bellissimo

Cara, quase certeza que está dando nullPointer no seu getApelido() … e se você tentar dar um trim(), vai dar pau mesmo, não tem como fazer trim() num objeto null… quando você trabalha com if’s verificando objetos dentro de um outro objeto (e assim por diante) tem sempre que verificar se o objeto pai não está nulo antes… não adianta ir navegando pra dentro do objeto com o ponto ‘.’ se no meio do caminho tiver algo null …

Exemplo:

lista1.objeto1.atributo1.trim()
  • Se lista1 for null, dá pau…
  • Se objeto1 for null, dá pau…
  • E se o atributo1 for null, dá pau também, todos pelo mesmo motivo: você está tentando acessar um método ou propriedade de algo que não existe, daí o nullPointerExcepetion…

Reveja seus if’s e ajuste para fazer essas verificações, que com certeza vai solucionar o problema…

ViniGodoy

Por que não imprime a exception para poder ver o stacktrace do erro? Sonegar informação de si mesmo é uma boa forma de nunca mais se achar num programa…

guisantogui

Ok, mas eu não estaria fazendo esta validação no meu "if" aterior?

if(cdp.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());

ai sim se der tudo certo ali ele entra em um:

try{
                    if(!(cdp.primeiraPessoaDaLista().getApelido().trim().equals("")))
                        janelaCadPessoas.getTxtApelido().setText(cdp.primeiraPessoaDaLista().getApelido());
                    else if(!(cdp.primeiraPessoaDaLista().getCep().trim().equals("")))
                        janelaCadPessoas.getTxtCep().setText(cdp.primeiraPessoaDaLista().getCep());
                    else if(!(cdp.primeiraPessoaDaLista().getFax().trim().equals("")))
                        janelaCadPessoas.getTxtFax().setText(cdp.primeiraPessoaDaLista().getFax());
                    else if(!(cdp.primeiraPessoaDaLista().getHomepage().trim().equals("")))
                        janelaCadPessoas.getTxtHomePage().setText(cdp.primeiraPessoaDaLista().getHomepage());
                }
                catch(NullPointerException ioob){
                    JOptionPane.showMessageDialog(rootPane, "Talvez as informações sobre os registros, não estejam completas!");
                }

e depois fecha o if maior aki

}

pode ateh ser q tenha algo nulo ai no meio, mas naum consegui axar! :confused:

PS.: aki a excessão

java.lang.NullPointerException
        at Interface.JanelaMenuPrincipal.btnCadastroDePessoasActionPerformed(JanelaMenuPrincipal.java:228)
        at Interface.JanelaMenuPrincipal.access$000(JanelaMenuPrincipal.java:12)
        at Interface.JanelaMenuPrincipal$1.actionPerformed(JanelaMenuPrincipal.java:85)
        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)
guisantogui

Tinha razão marcelo eu tirei o .trim() e comparei com null e funcionou!

Brigadão a todos!

marcelo.bellissimo

Viu? Eu sabia, porque eu mesmo já fiz isso várias vezes… é questão de experiência e prática, no começo você deixa esse tipo de coisa passar despercebida mesmo, mas depois você aprende… apanhando, mas aprende… :thumbup:

guisantogui

Eh isso ai! :slight_smile:

ViniGodoy

Engraçado, quando vc rodou o depurador, não testou os tipos de variável? Era para ter visto o null ali, durante a depuração.

Quando um método chama o outro assim, vc precisa depurar usando o “step into”, ir dentro de cada método, e ver o valor que está sendo retornado. Você teria resolvido essa dúvida em poucos segundos.

Então fica as dicas:

  1. Jamais faça exceptions desaparecerem. Logue-as em algum arquivo de erro, ou jogue-as para o System.err.
  2. Use o depurador nesses casos, testando valor por valor.
  3. Saiba quais são as exceptions comuns e porque elas são lançadas. NullPointerException nunca terá a ver com tamanho de lista.

Com a dica 1 vc chegaria de cara na linha do problema. Com a 2, bastaria alguns passinhos para descobrir quem é a variável nula da história.

Criado 19 de março de 2010
Ultima resposta 19 de mar. de 2010
Respostas 22
Participantes 6