Duvida Frame abrindo varias vezes

16 respostas
AnDrOiDe

Boa tarde Galera to quase terminando um projeto de bar e to com um problema , quando eu clico em um certo botão que chama os outros frame ele vai criando varias telas, tem alguma forma de fazer isto , sendo que posso fechar e abri-lo novamente..

public class FrmCadastro extends javax.swing.JFrame  {
	
	pnlCadastroProduto  cadProduto = null;
private void btnProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnProdutoActionPerformed
    	if(cadProduto == null) { 
    	pnlCadastroProduto cadProduto = new pnlCadastroProduto();
        cadProduto.setVisible(true);
    	}
    }//GEN-LAST:event_btnProdutoActionPerformed

16 Respostas

guilherme.dio

por favor, consegue postar o código do construtor desse pnlCadastroProduto ?

AnDrOiDe

vou postar a class quase inteiro para fins, grato em ajudar

public class pnlCadastroProduto extends javax.swing.JFrame {

    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	/** Creates new form pnlCadastroProduto */
	
	private CadastroProd cad =  new CadastroProd();

	
    public pnlCadastroProduto() {
        initComponents();
        Invisivel();
        setLocationRelativeTo(null);
    }
      public void Invisivel() {
        txtBairro.setEditable(false);
        txtCidade.setEditable(false);
        txtCodigoProd.setEditable(false);
        txtProduto.setEditable(false);
        txtEnd.setEditable(false);
        txtRamal.setEditable(false);
        jcbDocum.setEditable(false);
        jTxtTelefone.setEditable(false);
        jFtxtCNPJ.setEditable(false);
        
    }

    public void Visivel() {
        txtBairro.setEditable(true);
        txtCidade.setEditable(true);
        txtCodigoProd.setEditable(true);
        txtProduto.setEditable(true);
        txtRamal.setEditable(true);
        txtEnd.setEditable(true);
        jcbDocum.setEditable(true);
        jTxtTelefone.setEditable(true);
        jFtxtCNPJ.setEditable(true);
       
    }
    
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        setUndecorated(true);
        jPanel1 = new javax.swing.JPanel();
        lblProduto = new javax.swing.JLabel();
        txtProduto = new javax.swing.JTextField();
        lblCNPJ = new javax.swing.JLabel();
        lblEnd = new javax.swing.JLabel();
        txtEnd = new javax.swing.JTextField();
        lblBairro = new javax.swing.JLabel();
        txtBairro = new javax.swing.JTextField();
        lblCidade = new javax.swing.JLabel();
        txtCidade = new javax.swing.JTextField();
        lblDocum = new javax.swing.JLabel();
        jcbDocum = new javax.swing.JComboBox();
        jSeparator1 = new javax.swing.JSeparator();
        lblCodigoProduto = new javax.swing.JLabel();
        txtCodigoProd = new javax.swing.JTextField();
        lblObrigátorio1 = new javax.swing.JLabel();
        lblObrigátorio2 = new javax.swing.JLabel();
        lblObrigátorio3 = new javax.swing.JLabel();
        jSeparator2 = new javax.swing.JSeparator();
        lblTelefone = new javax.swing.JLabel();
        lblRamal = new javax.swing.JLabel();
        txtRamal = new javax.swing.JTextField();
        jFtxtCNPJ = new javax.swing.JFormattedTextField();
        jTxtTelefone = new javax.swing.JFormattedTextField();
        btnFechar = new javax.swing.JButton();
        btnSalvar = new javax.swing.JButton();
        btnExcluir = new javax.swing.JButton();
        btnNovo = new javax.swing.JButton();
        btnCancela = new javax.swing.JButton();
        pnlTituloPesquisa2 = new javax.swing.JPanel();
        lblPesquisa2 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel1.setBackground(new java.awt.Color(0, 205, 255));
        jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblProduto.setText("Produto");

        txtProduto.setDocument(new JTextFieldFilter(JTextFieldFilter.UPPERCASE,25));
        txtProduto.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        lblCNPJ.setText("CNPJ");
        lblCNPJ.setName("CPF"); // NOI18N

        lblEnd.setText("Endereço");

        txtEnd.setDocument(new JTextFieldFilter(JTextFieldFilter.UPPERCASE,25));
        txtEnd.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        lblBairro.setText("Bairro");

        txtBairro.setDocument(new JTextFieldFilter(JTextFieldFilter.UPPERCASE,25));
        txtBairro.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        lblCidade.setText("Cidade");

        txtCidade.setDocument(new JTextFieldFilter(JTextFieldFilter.UPPERCASE,25));
        txtCidade.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        lblDocum.setText("Docum.");

        jcbDocum.setModel(new javax.swing.DefaultComboBoxModel(new String[] {" " , "RG","OUTROS","CNH" }));

        lblCodigoProduto.setText("Código Produto");

        txtCodigoProd.setDocument(new JTextFieldFilter(JTextFieldFilter.NUMERIC,5));
        txtCodigoProd.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        lblObrigátorio1.setFont(new java.awt.Font("Tahoma", 1, 11));
        lblObrigátorio1.setForeground(java.awt.Color.white);
        lblObrigátorio1.setText("*");

        lblObrigátorio2.setFont(new java.awt.Font("Tahoma", 1, 11));
        lblObrigátorio2.setForeground(java.awt.Color.white);
        lblObrigátorio2.setText("*");

        lblObrigátorio3.setFont(new java.awt.Font("Tahoma", 1, 11));
        lblObrigátorio3.setForeground(java.awt.Color.white);
        lblObrigátorio3.setText("*");

        lblTelefone.setText("Telelefone");

        lblRamal.setText("Ramal");

        txtRamal.setDocument(new JTextFieldFilter(JTextFieldFilter.NUMERIC,4));
        txtRamal.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        try {
            ((JFormattedTextField) jFtxtCNPJ).setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("##.###.###/####-##")));
        } catch (java.text.ParseException ex) {
            ex.printStackTrace();
        }

        try{
            ((JFormattedTextField) jTxtTelefone).setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("####-####")));
        } catch (java.text.ParseException ex) {
            ex.printStackTrace();
        }

        btnFechar.setForeground(java.awt.Color.blue);
        btnFechar.setToolTipText("Sair");
        btnFechar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/closebar.png")));
        btnFechar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnFecharActionPerformed(evt);
            }
        });

        btnSalvar.setForeground(java.awt.Color.blue);
        btnSalvar.setToolTipText("Salvar");
        btnSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/save_icon.png")));
        btnSalvar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSalvarActionPerformed(evt);
            }
        });

        btnExcluir.setForeground(java.awt.Color.blue);
        btnExcluir.setToolTipText("Deletar");
        btnExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/dialogclose.png")));
        btnExcluir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnExcluirActionPerformed(evt);
            }
        });

        btnNovo.setForeground(java.awt.Color.blue);
        btnNovo.setToolTipText("Novo");
        btnNovo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/clear.png")));
        btnNovo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnNovoActionPerformed(evt);
            }
        });

        btnCancela.setForeground(java.awt.Color.blue);
        btnCancela.setToolTipText("Cancelar");
        btnCancela.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/cancel.png")));
        btnCancela.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCancelaActionPerformed(evt);
            }
        });

        pnlTituloPesquisa2.setBackground(java.awt.Color.red);
        pnlTituloPesquisa2.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        lblPesquisa2.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        lblPesquisa2.setText("Cadastro Produto");

        javax.swing.GroupLayout pnlTituloPesquisa2Layout = new javax.swing.GroupLayout(pnlTituloPesquisa2);
        pnlTituloPesquisa2.setLayout(pnlTituloPesquisa2Layout);
        pnlTituloPesquisa2Layout.setHorizontalGroup(
            pnlTituloPesquisa2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlTituloPesquisa2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblPesquisa2, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(539, Short.MAX_VALUE))
        );
        pnlTituloPesquisa2Layout.setVerticalGroup(
            pnlTituloPesquisa2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(lblPesquisa2, javax.swing.GroupLayout.DEFAULT_SIZE, 25, Short.MAX_VALUE)
        );

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 739, Short.MAX_VALUE)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblObrigátorio1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lblCodigoProduto)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(txtCodigoProd, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(498, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addComponent(jSeparator2, javax.swing.GroupLayout.DEFAULT_SIZE, 729, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblObrigátorio3)
                    .addComponent(lblObrigátorio2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(lblTelefone)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 559, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(lblProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblCNPJ)
                            .addComponent(lblDocum)
                            .addComponent(lblEnd)
                            .addComponent(lblBairro))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(txtBairro, javax.swing.GroupLayout.PREFERRED_SIZE, 264, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(lblCidade)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(txtCidade, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE))
                            .addComponent(txtProduto, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 556, Short.MAX_VALUE)
                            .addComponent(txtEnd, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 556, Short.MAX_VALUE)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jcbDocum, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addGap(1, 1, 1)
                                        .addComponent(jTxtTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(lblRamal)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(txtRamal, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jFtxtCNPJ, javax.swing.GroupLayout.PREFERRED_SIZE, 157, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addGap(107, 107, 107))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(42, 42, 42)
                .addComponent(btnSalvar, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(4, 4, 4)
                .addComponent(btnNovo, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnCancela, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnFechar, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 195, Short.MAX_VALUE)
                .addComponent(btnExcluir, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(75, 75, 75))
            .addComponent(pnlTituloPesquisa2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addComponent(pnlTituloPesquisa2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblCodigoProduto)
                    .addComponent(txtCodigoProd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblObrigátorio1))
                .addGap(18, 18, 18)
                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(27, 27, 27)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblProduto)
                    .addComponent(txtProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblObrigátorio2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblCNPJ)
                    .addComponent(lblObrigátorio3)
                    .addComponent(jFtxtCNPJ, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtEnd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblEnd))
                .addGap(8, 8, 8)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtBairro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblCidade)
                    .addComponent(txtCidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblBairro))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblDocum)
                    .addComponent(jcbDocum, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblTelefone)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(lblRamal)
                        .addComponent(txtRamal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTxtTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(56, 56, 56)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(81, 81, 81)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(btnCancela, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnFechar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnExcluir, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnSalvar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 31, Short.MAX_VALUE)
                    .addComponent(btnNovo, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 31, Short.MAX_VALUE))
                .addGap(21, 21, 21))
        );

        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, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents
Lucas_Abbatepaolo

Cara…juro q nao entendi sua pergunta…

Você quer que va abrindo varios frames ou não?

guilherme.dio

posta tbm essa classe CadatroProd e o conteudo do método Invisivel() que esta sendo invocado no construtor desta classe

AnDrOiDe

Lucas Abbatepaolo:
Cara…juro q nao entendi sua pergunta…

Você quer que va abrindo varios frames ou não?

não cara apenas uma vez, pois ele esta fazendo isto abrindo varios conforme click no botão …

thankd

Se voce usa jframe, pode fazer isso:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { new NomeDoFrameQueQuerAbrir().show(); }

quando clicar no button ele vai abrir so um, podendo ser fechado e aberto dinovo.

guilherme.dio

AnDrOiDe:
Lucas Abbatepaolo:
Cara…juro q nao entendi sua pergunta…

Você quer que va abrindo varios frames ou não?

não cara apenas uma vez, pois ele esta fazendo isto abrindo varios conforme click no botão …

A isto é obvio, conforme o clique no botão você irá abrir vários frame,s o unico modo de resolver isto é através de uma variável de controle

D

AnDrOiDe:
Lucas Abbatepaolo:
Cara…juro q nao entendi sua pergunta…

Você quer que va abrindo varios frames ou não?

não cara apenas uma vez, pois ele esta fazendo isto abrindo varios conforme click no botão …

Ele abre vários pois você sempre que você clica no botão executa o action performed, ele instância e seta como visible, ou você coloca fora do action performed ou cria uma condição para ver se já abriu ou não

AnDrOiDe

exato , mas de que forma posso fazer isto?

guilherme.dio

Cria uma variável boolean de controle, ao abrir o frame ela ganha um valor, ao fechar ganha outro, assim sempre verifica o valor ao clicar no botão:

if(!isAberto())
{
   frmCadastro objCadastro = new frmCadastro();
   objCadastro.setVisible(true);
}
AnDrOiDe

ok amanha vou testar !

valeu!

AnDrOiDe

thankd:
Se voce usa jframe, pode fazer isso:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { new NomeDoFrameQueQuerAbrir().show(); }

quando clicar no button ele vai abrir so um, podendo ser fechado e aberto dinovo.

testei dessa forma mas ele deixa abrir varias vezes a mesma tela, isto não pode acontecer!

valeu!

D

compact seu projeto e manda para dar uma olhada. Deve estar faltando uma coisa simples.

Dessa forma que você colocou não tem nenhuma variável de controle. Isso faz abrir normal. e ainda usa um método decrepito.

AnDrOiDe

olha vou te passar a tela principal e um tela que é chamada

D

Aí complica sói essas 2 fica dando erra de referência a classes que deu import do seu projeto.

Você já fez a condição de controle(uma variável boolean)?
cria um boolean sendo true. Depois coloca um if() para verificar se for true, ele abre um painel e seta como false sua condição, se for false ele não abre.

Lucas_Abbatepaolo

Assim…

Você tem uma tela principal…que é um jFrame…

Dentro desta tela principal vc tem um botao que chama outra janela…pelo q vi vc utilizou o jFrame…

Ai esta o problema…

O jFrame sempre ira abrir uma nova janela…

se vc quer criar janelas internas no seu sistema use jInternalFrame ou jDialog.

Criado 8 de dezembro de 2011
Ultima resposta 9 de dez. de 2011
Respostas 16
Participantes 5