Componentes do JPanel Desaparece[RESOLVIDO]

Bom dia, Estou com um pequeno problema, tenho um JFrame borderLayout, e dependendo da seleção do usuário abrirá um jPanel no Centro da JFrame, como cadastro por exemplo. Esta funcionando blz, agora o problema é que se eu Minimizo ou clico nos botões as vezes esses somem do nada. Alguém te a solução?
Segue a forma como estou chamando o Panel:

[code]private void testeButtonActionPerformed(java.awt.event.ActionEvent evt) {
telaTelaPrincipal.add(new teste(),BorderLayout.CENTER);

}[/code]

E qual é o layout do painel?
Como vc está adicionando componente lá dentro?

[quote=ViniGodoy]E qual é o layout do painel?
Como vc está adicionando componente lá dentro?[/quote]

Bem, eu tenho esse JPanel sendo como BorderLayout e dentro dele tenho mais dois JPanel, o 1º é GridLayout contendo um jscrolpane, e o 2º é BorderLayout contendo mais 4 JPanel todos null, obs: estou usando NetBeans 5.5.1 anexarei o código em seguida

private void initComponents() {
        jPanel2 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        produtoTable = new javax.swing.JTable();
        jPanel3 = new javax.swing.JPanel();
        DadosClientePainel = new javax.swing.JPanel();
        nomeLabel = new javax.swing.JLabel();
        descricaoField = new javax.swing.JTextField();
        nomeLabel2 = new javax.swing.JLabel();
        nomeLabel6 = new javax.swing.JLabel();
        comissaoField = new javax.swing.JTextField();
        nomeLabel7 = new javax.swing.JLabel();
        modalidadeComboBox = new javax.swing.JComboBox();
        tipoComboBox = new javax.swing.JComboBox();
        botoes2Painel = new javax.swing.JPanel();
        primeiroButton = new javax.swing.JButton();
        anteriorButton = new javax.swing.JButton();
        proximoButton = new javax.swing.JButton();
        ultimoButton = new javax.swing.JButton();
        botoes1Painel = new javax.swing.JPanel();
        atualizarButton = new javax.swing.JButton();
        excluirButton = new javax.swing.JButton();
        novoButton = new javax.swing.JButton();
        salvarButton = new javax.swing.JButton();
        PesquisarPainel = new javax.swing.JPanel();
        codigoField = new javax.swing.JTextField();
        nomeLabel11 = new javax.swing.JLabel();
        pesquisarField = new javax.swing.JTextField();
        pesquisarLabel = new javax.swing.JLabel();

        setLayout(new java.awt.BorderLayout());

        jPanel2.setLayout(new java.awt.GridLayout(1, 0));

        jPanel2.setPreferredSize(new java.awt.Dimension(200, 100));
        jScrollPane1.setBorder(javax.swing.BorderFactory.createTitledBorder("Lista dos Produtos Cadastrados"));
        jScrollPane1.setPreferredSize(new java.awt.Dimension(600, 150));
        produtoTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Cód.", "Descrição", "Modalidade", "Tipo", "Comissão"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane1.setViewportView(produtoTable);

        jPanel2.add(jScrollPane1);

        add(jPanel2, java.awt.BorderLayout.CENTER);

        jPanel3.setLayout(new java.awt.BorderLayout());

        jPanel3.setPreferredSize(new java.awt.Dimension(150, 240));
        DadosClientePainel.setLayout(null);

        DadosClientePainel.setBorder(javax.swing.BorderFactory.createTitledBorder("Dados do Cliente"));
        DadosClientePainel.setMinimumSize(new java.awt.Dimension(100, 100));
        nomeLabel.setFont(new java.awt.Font("MS Sans Serif", 1, 12));
        nomeLabel.setText("Descri\u00e7\u00e3o:");
        DadosClientePainel.add(nomeLabel);
        nomeLabel.setBounds(20, 20, 70, 20);

        descricaoField.setFont(new java.awt.Font("MS Sans Serif", 0, 12));
        descricaoField.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                descricaoFieldKeyPressed(evt);
            }
        });

        DadosClientePainel.add(descricaoField);
        descricaoField.setBounds(90, 20, 300, 20);

        nomeLabel2.setFont(new java.awt.Font("MS Sans Serif", 1, 12));
        nomeLabel2.setText("Modalidade:");
        DadosClientePainel.add(nomeLabel2);
        nomeLabel2.setBounds(190, 41, 80, 20);

        nomeLabel6.setFont(new java.awt.Font("MS Sans Serif", 1, 12));
        nomeLabel6.setText("Comiss\u00e3o:");
        DadosClientePainel.add(nomeLabel6);
        nomeLabel6.setBounds(20, 41, 70, 20);

        comissaoField.setFont(new java.awt.Font("MS Sans Serif", 0, 12));
        comissaoField.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                comissaoFieldKeyPressed(evt);
            }
        });

        DadosClientePainel.add(comissaoField);
        comissaoField.setBounds(90, 41, 80, 20);

        nomeLabel7.setFont(new java.awt.Font("MS Sans Serif", 1, 12));
        nomeLabel7.setText("Tipo:");
        DadosClientePainel.add(nomeLabel7);
        nomeLabel7.setBounds(50, 62, 40, 20);

        modalidadeComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "pagamentos", "recebimentos", "servicos", "premios_pagos" }));
        DadosClientePainel.add(modalidadeComboBox);
        modalidadeComboBox.setBounds(270, 41, 120, 20);

        tipoComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { " ", "DEPOSITO", "ARFATAVCAR", "CONTAS", "CONV.GEN", "BLOQ CAIXA", "BAU 1PARC", "INSENTO", "RECEBCAP", "pre-pago" }));
        DadosClientePainel.add(tipoComboBox);
        tipoComboBox.setBounds(90, 62, 120, 20);

        jPanel3.add(DadosClientePainel, java.awt.BorderLayout.CENTER);

        botoes2Painel.setPreferredSize(new java.awt.Dimension(100, 100));
        primeiroButton.setText("Primeiro");
        primeiroButton.setToolTipText("Vai para o primeiro registro");
        primeiroButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                primeiroButtonActionPerformed(evt);
            }
        });

        anteriorButton.setText("Anterior");
        anteriorButton.setToolTipText("Vai para o registro anterior");
        anteriorButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                anteriorButtonActionPerformed(evt);
            }
        });

        proximoButton.setText("Pr\u00f3ximo");
        proximoButton.setToolTipText("Vai para o pr\u00f3ximo registro");
        proximoButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                proximoButtonActionPerformed(evt);
            }
        });

        ultimoButton.setText("\u00daltimo");
        ultimoButton.setToolTipText("Vai para o \u00faltimo registro");
        ultimoButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ultimoButtonActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout botoes2PainelLayout = new org.jdesktop.layout.GroupLayout(botoes2Painel);
        botoes2Painel.setLayout(botoes2PainelLayout);
        botoes2PainelLayout.setHorizontalGroup(
            botoes2PainelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(botoes2PainelLayout.createSequentialGroup()
                .add(botoes2PainelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(botoes2PainelLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(primeiroButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 80, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(botoes2PainelLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(anteriorButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 80, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(botoes2PainelLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(proximoButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 80, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(botoes2PainelLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(ultimoButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 80, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        botoes2PainelLayout.setVerticalGroup(
            botoes2PainelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(botoes2PainelLayout.createSequentialGroup()
                .addContainerGap()
                .add(primeiroButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 30, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(anteriorButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 30, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(proximoButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 30, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(ultimoButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 30, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel3.add(botoes2Painel, java.awt.BorderLayout.EAST);

        botoes1Painel.setPreferredSize(new java.awt.Dimension(90, 40));
        atualizarButton.setText("Atualiza");
        atualizarButton.setToolTipText("Atualizar Cliente");
        atualizarButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                atualizarButtonActionPerformed(evt);
            }
        });

        excluirButton.setText("Excluir");
        excluirButton.setToolTipText("Excluir Cliente");
        excluirButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                excluirButtonActionPerformed(evt);
            }
        });

        novoButton.setText("Novo");
        novoButton.setToolTipText("Inserir novo Cliente");
        novoButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                novoButtonActionPerformed(evt);
            }
        });

        salvarButton.setText("Salvar");
        salvarButton.setToolTipText("Gravar Cliente");
        salvarButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                salvarButtonActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout botoes1PainelLayout = new org.jdesktop.layout.GroupLayout(botoes1Painel);
        botoes1Painel.setLayout(botoes1PainelLayout);
        botoes1PainelLayout.setHorizontalGroup(
            botoes1PainelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(botoes1PainelLayout.createSequentialGroup()
                .add(210, 210, 210)
                .add(atualizarButton)
                .add(excluirButton)
                .add(novoButton)
                .add(salvarButton))
        );
        botoes1PainelLayout.setVerticalGroup(
            botoes1PainelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(botoes1PainelLayout.createSequentialGroup()
                .add(8, 8, 8)
                .add(botoes1PainelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(atualizarButton)
                    .add(excluirButton)
                    .add(novoButton)
                    .add(salvarButton)))
        );
        jPanel3.add(botoes1Painel, java.awt.BorderLayout.SOUTH);

        PesquisarPainel.setPreferredSize(new java.awt.Dimension(100, 40));
        codigoField.setEditable(false);
        codigoField.setFont(new java.awt.Font("MS Sans Serif", 0, 12));
        codigoField.setToolTipText("Digite as Iniciais do nome");

        nomeLabel11.setFont(new java.awt.Font("MS Sans Serif", 1, 12));
        nomeLabel11.setText("C\u00f3digo:");

        pesquisarField.setFont(new java.awt.Font("MS Sans Serif", 0, 12));
        pesquisarField.setToolTipText("Digite as Iniciais do nome");
        pesquisarField.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                pesquisarFieldKeyPressed(evt);
            }
            public void keyReleased(java.awt.event.KeyEvent evt) {
                pesquisarFieldKeyReleased(evt);
            }
        });

        pesquisarLabel.setFont(new java.awt.Font("MS Sans Serif", 1, 12));
        pesquisarLabel.setIcon(new javax.swing.ImageIcon("C:\LoteriaControlada\Icones(Programa)\persquisar.gif"));
        pesquisarLabel.setText("Pesquisar:");
        pesquisarLabel.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        pesquisarLabel.setIconTextGap(3);

        org.jdesktop.layout.GroupLayout PesquisarPainelLayout = new org.jdesktop.layout.GroupLayout(PesquisarPainel);
        PesquisarPainel.setLayout(PesquisarPainelLayout);
        PesquisarPainelLayout.setHorizontalGroup(
            PesquisarPainelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(PesquisarPainelLayout.createSequentialGroup()
                .addContainerGap()
                .add(pesquisarLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 100, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(pesquisarField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 170, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(10, 10, 10)
                .add(nomeLabel11, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(codigoField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 60, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(251, Short.MAX_VALUE))
        );
        PesquisarPainelLayout.setVerticalGroup(
            PesquisarPainelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(PesquisarPainelLayout.createSequentialGroup()
                .addContainerGap()
                .add(PesquisarPainelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(pesquisarLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(pesquisarField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(nomeLabel11, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(codigoField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel3.add(PesquisarPainel, java.awt.BorderLayout.NORTH);

        add(jPanel3, java.awt.BorderLayout.SOUTH);
}

Pessoal pra quem esta com o mesmo problema, o meu é erro de iniciante, acontece que eu tinha colocado um Panel ja no center, e estava criando um novo por cima. que coisa ein rs

Que coisa hein?

Uma dica. Não use o DefaultTableModel. Ele foi criado apenas para demonstrar o JTable.

Na prática, é muito melhor criar o seu próprio TableModel, filho de AbstractTableModel. Dá uma lida nesse site, vai te ajudar:
http://www.informit.com/articles/article.aspx?p=332278&rl=1

[quote=ViniGodoy]Que coisa hein?

Uma dica. Não use o DefaultTableModel. Ele foi criado apenas para demonstrar o JTable.

Na prática, é muito melhor criar o seu próprio TableModel, filho de AbstractTableModel. Dá uma lida nesse site, vai te ajudar:
http://www.informit.com/articles/article.aspx?p=332278&rl=1[/quote]

Obrigado pela Dica