Problema com Abrir um Jframe dentro do outro

4 respostas
M

Ola, estou desenvolvento um sistema para pedido de restaurante e quando eu clico no botao para abrir o outro Jframe aparece um msg de erro

Erro: java.lang.NullPointerException
Exception in thread “AWT-EventQueue-0” java.lang.IllegalArgumentException: adding a window to a container


PrincipalClienteForm


package com.xpto.cliente.view;

import java.awt.Container;

public class PrincipalClienteForm extends javax.swing.JFrame {
private Container PrincipalClienteForm;

public PrincipalClienteForm() {
   
    PrincipalClienteForm = getContentPane();
   
    initComponents();
}
private void BtnPratosPrincipalActionPerformed(java.awt.event.ActionEvent evt) {

PrincipalClienteForm.add(BtnPratosPrincipal);

PedidosClienteForm pcf = new PedidosClienteForm();

add(pcf);

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new PrincipalClienteForm().setVisible(true);
}
    });
}
private javax.swing.JButton BtnChamar;

private javax.swing.JButton BtnEncerrar;

private javax.swing.JButton BtnListar;

private javax.swing.JButton BtnPratosPrincipal;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JTextField jTextField1;

// End of variables declaration

private static final long serialVersionUID = 1L;

}

PedidosClienteForm


public class PedidosClienteForm extends javax.swing.JFrame {

/** Creates new form PratosClienteForm */
public PedidosClienteForm() {
    initComponents();
    setVisible(true);
    setLocation(100, 100);
  
}

private void BtnBebidasActionPerformed(java.awt.event.ActionEvent evt) {

PedidosBebidasClienteForm pec = new PedidosBebidasClienteForm();
    add(pec);

}

private void BtnAcompanhamentosActionPerformed(java.awt.event.ActionEvent evt) {                                                   
    PedidosAcompanhamentosClienteForm ppc = new PedidosAcompanhamentosClienteForm();
    add(ppc);

}

private void BtnSanduichesActionPerformed(java.awt.event.ActionEvent evt) {                                              
    PedidosSanduichesClienteForm psc = new PedidosSanduichesClienteForm();
    add(psc);
}

private javax.swing.JButton BtnAcompanhamentos;

private javax.swing.JButton BtnBebidas;

private javax.swing.JButton BtnChamar;

private javax.swing.JButton BtnEncerrar;

private javax.swing.JButton BtnListar;

private javax.swing.JButton BtnSanduiches;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JTextField jTextField1;

// End of variables declaration

private static final long serialVersionUID = 1L;

}

Alguem poderia me orientar em achar o erro?
Obrigado

4 Respostas

robinsonbsilva

jovem…você terá que trabalhar com JInternalFrame…dá uma pesquisada!!

fabiofalci

Oi.
Tenha somente um JFrame.
Para mudar de telas, use um layout (como CardLayout), um JTabbedPane ou até, em algumas situações, JDialog.

M

estou fazendo um sistema onde o cliente realiza o pedido por um touch screen,JTabbedPane nao iria resolver meu problema, porem CardLayout acho que daria… porem eu queria criar um Jframe principal, e dentro dele 2 botoes
lanches, bebidas… quando o cliente clicar em lanches ai abre o frame lanches com varios botoes produto 1, produto2 etc… quando clicar no produto1 realizar o pedido. o que vc me recomenda usar??? JInternalFrame ou JDialog? e da para usar CardLayout para chamar essas frames??

obrigado

fabiofalci

Sim, vc consegue com o CardLayout.
Olha esse exemplo:
http://java.sun.com/docs/books/tutorial/uiswing/layout/card.html

Criado 23 de abril de 2009
Ultima resposta 30 de abr. de 2009
Respostas 4
Participantes 3