Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/12/2013, 15:22
Avatar de cyrux_cob
cyrux_cob
 
Fecha de Ingreso: febrero-2007
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Formulario Java Jframe con Jpanel no funciona

Saludos.
Lo que te puse más arriba funciona pues lo probé. Estuve estudiando la clase Class y creo que encontré una solución mas factible para lo que deseas.
Primero deberas modificar el constructor de los paneles, y agregarle los parámetros que deseas que "sepan" de la clase WorkFrame.

Por ejemplo

Código Java:
Ver original
  1. public CAMBIATE(String _profile, String _user) {
  2.              profile = _profile;
  3.              usuario = _user;
  4.  
  5. //Aquí va el resto del código
  6. }
  7. }

Luego en la clase WorkFrame modificar la forma en que instancias el objeto Jpanel de la siguiente forma.

Código Java:
Ver original
  1. public class WorkFrame extends javax.swing.JFrame {
  2.  
  3.   String profile;
  4.   String usuario;
  5.   Class modulo;
  6.   Constructor constructorPanel;
  7.   JLayeredPane LayPNL;
  8.  Constructor constructorPanel;
  9.  
  10.  
  11.       profile = _profile;
  12.       usuario = _usuario;
  13.       modulo = Class.forName("EWH."+Programa");
  14.      constructorPanel = modulo.getConstructor(String.class,String.class); // Aquí añades cuantos parametros quieres que tus paneles "conozcan"
  15.      Panel= (JPanel)constructorPanel.newInstance(profile,usuario);
  16.      LayPNL = new JLayeredPane();
  17.      LayPNL.add((Component)Panel,new Integer(1));
  18.      getContentPane().add(LayPNL);
  19.  
  20. }

No sé si me haya equivocado con el nombre de algún objeto al pasar el código para aquí, pero la idea está en utilizar la clase Constructor para instanciar los paneles, pasándole los argumenos que te interesan.
Yo los probé en un ejemplo sencillo y funcionó bien.

me dices como te fue

Última edición por cyrux_cob; 07/12/2013 a las 15:29