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

R

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

F

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

F

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