Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Problema de conexion entre un JPanel y JFrame

Hola a todos, buenas tardes, estoy con un pequeño problema que no me deja continuar, la situación es la siguiente: tengo 1 JFrame (FrameCrearMenu) y 1 JPanel (PanelCrearMenu) por la cual este ultimo recolecta datos en determinados JTextFields, cuando intento generar una instancia de la clase //PanelCrearMenu panelCrearmenu = new PanelCrearMenu();// para ir tomando los datos e insertarlos en una BD, me figuran en blanco. no entiendo que pasa, les paso el codigo del Frame, gracias!"!

public class FrameCrearMenu extends JFrame {

private PanelCrearMenu panelCrearMenu;
private PanelResumendePedido resumenPedido;
private PanelCrearMenuPlatosyBebidas panelCrearMenuPlatosyBebidas;

private Pedido pedido = new Pedido();


private JButton btnAtras = new JButton("Atras");
private JButton btnSiguiente1 = new JButton("Siguiente");
private final JButton btnSiguiente2 = new JButton("Siguiente");
private final JButton btnFinalizar = new JButton("Finalizar");

private String nombre;
private String detallesDomicilio;
private String comentariosMenu;
private int telefonoTribunales;
private String ala;
private int nivel;
private int fiscalia;
private int fiscaliacam;
private int camara;
private int turno;
private int juzgado;
private int asesoria;
private String hora;
private Object menu;
private Object bebidas;
private int total;

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
FrameCrearMenu frame = new FrameCrearMenu();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}


public FrameCrearMenu() {

panelCrearMenuPlatosyBebidas = new PanelCrearMenuPlatosyBebidas();
panelCrearMenu = new PanelCrearMenu();
panelCrearMenu.setBounds(41, 31, 659, 789);
panelCrearMenu.setVisible(true);
this.setSize(732, 909);
this.setResizable(false);
getContentPane().setLayout(null);
this.getContentPane().add(this.panelCrearMenu);
this.getContentPane().add(panelCrearMenu);
this.setVisible(true);
btnSiguiente1.setBounds(523, 832, 117, 25);
btnSiguiente1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

PanelCrearMenu panelCrearmenu = new PanelCrearMenu();

nombre = (String) panelCrearmenu.comboBox_NombreTribunales.getSelectedItem();
telefonoTribunales = Integer.parseInt(panelCrearmenu.textField_Tribunales.getText());
comentariosMenu= panelCrearmenu.textArea_ComentariosMenu.getText();

ala = panelCrearmenu.textField_Ala.getText();
System.out.println("nombre ala:"+ ala); /// ACA PRUEBO A VER QUE HAY DENTRO, Y NO IMPRIME NADA!
/////////////////////////////////////////////////////////////////////////////////////////////////////////


if(panelCrearmenu.textField_Nivel.getText().isEmpty()){

nivel=0;


}else{


nivel= Integer.parseInt(panelCrearmenu.textField_Nivel.getText());


}

if(panelCrearmenu.textField_Fiscalia.getText().isEmpty()){

fiscalia = 0;


}else{


fiscalia=Integer.parseInt(panelCrearmenu.textField_Fiscalia.getText());


}

if(panelCrearmenu.textField_Camara.getText().isEmpty()){

camara = 0;


}else{


camara=Integer.parseInt(panelCrearmenu.textField_Camara.getText());


}

if(panelCrearmenu.textField_Turno.getText().isEmpty()){

turno = 0;


}else{


turno=Integer.parseInt(panelCrearmenu.textField_Turno.getText());


}

if(panelCrearmenu.textField_FiscaliaCam.getText().isEmpty()){

fiscaliacam = 0;


}else{


fiscaliacam=Integer.parseInt(panelCrearmenu.textField_FiscaliaCam.getText());


}

if(panelCrearmenu.textField_Juzgado.getText().isEmpty()){

juzgado = 0;


}else{


juzgado=Integer.parseInt(panelCrearmenu.textField_Juzgado.getText());


}

if(panelCrearmenu.textField_Asesoria.getText().isEmpty()){

asesoria = 0;


}else{


asesoria=Integer.parseInt(panelCrearmenu.textField_Asesoria.getText());


}

hora = (String) panelCrearmenu.comboBox_Hora.getSelectedItem();
System.out.println("imprmirmo nuevo valor hora:"+nombre+comentariosMenu+ala+hora);/// ACA PRUEBO NUEVAMENTE A VER QUE HAY DENTRO, Y NO IMPRIME NADA!
detallesDomicilio = panelCrearmenu.textArea_DetallesDomicilio.getText();


panelCrearMenu.setVisible(false);
panelCrearMenuPlatosyBebidas.setLocation(0, 0);
panelCrearMenuPlatosyBebidas.setVisible(true);
//panelCrearMenuPlatosyBebidas.setSize(732, 909);
getContentPane().setLayout(null);
panelCrearMenuPlatosyBebidas.setBounds(39, 0, 659, 789);
getContentPane().add(panelCrearMenuPlatosyBebidas);
panelCrearMenuPlatosyBebidas.setVisible(true);

btnSiguiente1.setVisible(false);
btnSiguiente2.setVisible(true);

}
});

abril 23, 2016 | Registered Commenterfran7751

Lo único malo en estos foros es que ni siquiera se agradece la ayuda de los demás, pero bueno prosigamos...

Amigo. la verdad el código lo veo un poco desordenado, yo lo haría de la siguiente manera:

1. En el JPanel hago los jtextfield que necesite, y creo un método público para consultarlo desde cualquier clase.

public String texto(String mitexto){
// Aqui haces lo que tengas que hacer con el panel 1
mitexto=txtfield1.getText();
return mitexto;
}

2. en el JFrame creo un jTabbedPane y en el constructor por código agrego los Paneles que necesite, en este caso solo el NewJPanel que hice, llamo al método público y ya tengo el valor que necesito.

public NewJFrame() {
initComponents();
NewJPanel jp = new NewJPanel();
jTabbedPane1.addTab("Panel 1", jp);
String texto=jp.texto("");
System.out.println("texto: "+ texto);
}

3. Ahora si puedo utilizar el dato de la variable texto para lo que necesite. Resumo lo que mas puedo, es por eso que no coloque el código de pasar valores int a String o viceversa, eso se hace según las necesidades de su aplicación...

"Si un hombre es perseverante, aunque sea duro de entendimiento, se hará inteligente, y si es débil se transformará en fuerte" Leonardo Da Vinci

mayo 8, 2016 | Unregistered Commentercmarinv2005