SoloCodigo

Programación General => Java => Mensaje iniciado por: omar125-02 en Miércoles 14 de Marzo de 2012, 23:49

Título: ¿Cómo llamar a mi formularios desde una base de datos con java?
Publicado por: omar125-02 en Miércoles 14 de Marzo de 2012, 23:49
Tengo la tabla menu en MySQL en donde tengo registro el nombre del formulario al cual desea llamar al darle click al menu. En un vector almacenos los datos de mi consulta que devuelve la lista de nombres de formularios de la tabla menu.

El problema es como hacer referencia a mi Frm.java en los eventos.

Se que una forma es así:

......................

FrmEmpleados empleado=new FrmEmpleados();

empleado.sertVisible(true);..........

Pero:  Recuerden que FrmEmpleados es el nombre de la clase que esta guardado como empleado FrmEmpleados.java.

Ahora lo mio sale desde un vector, probé algo así pero no me funciono;

........for(vector.tamaño){

               vector[1] empleado=new vector();
              empleado.sertVisible(true);..........

       }

.........Alguien tiene alguna idea de como hacerlo, o otra forma de hacerlo???????
Título: Re:¿Cómo llamar a mi formularios desde una base de datos con java?
Publicado por: arielb en Jueves 15 de Marzo de 2012, 15:50
Ahora lo mio sale desde un vector, probé algo así pero no me funciono;

Hola, bueno no creo que ni siquiera compiló ese código :D

te dejo una guía.

Código: Java(TM) 2 Platform Standard Edition 5.0
  1. FrmEmpleados empleado=new FrmEmpleados();
  2.  
  3. Vector vector = new Vector();
  4.  
  5. empleado.setVisible(true);
  6. vector.add(empleado);
  7.  
  8. FrmEmpleados emp = (FrmEmpleados)vector.get(0);
  9.  
  10. emp.get.....
Título: Re:¿Cómo llamar a mi formularios desde una base de datos con java?
Publicado por: omar125-02 en Lunes 19 de Marzo de 2012, 00:01
Hola.
/* FrmEmpleados empleado=new FrmEmpleados();
     
    Vector vector = new Vector();
     
    empleado.setVisible(true);
    vector.add(empleado);
     
    FrmEmpleados emp = (FrmEmpleados)vector.get(0);
     
    emp.get.....
*/
El punto es, si te fijas el FrmEmpleados-> es el nombre del formulario que sale desde desde base de datos. Por eso necesito una idea de como hacer referencia a un formulario pero que el nombre salga desde la base de datos.
DE hecho que los datos de la consulta los recorro en un for(); y es ahí dentro del for() que voy creando botones e instanciando a los formularios......¿Alguna idea?
Título: Re:¿Cómo llamar a mi formularios desde una base de datos con java?
Publicado por: droezva en Lunes 9 de Abril de 2012, 07:10
Hola Saludos

Bueno creo que se puede resolver asi:

Utilizo la Clase "Class", para obtener la clase buscada utilizamos su método forName(String ClassName) el parámetro ClassName debe de llevar el nombre de la clase, lo que regresa el método forName es la clase segun el nombre que hemos dado, una vez teniendo la Clase podemos invocar el método llamado newInstance() que crea un nuevo objeto o nueva instancia de la clase y la podemos utilizar directamente o asignarlo a una variable, en tu caso ya sabemos que son Objetos que heredan de JFrame por lo que hacemos un cast.

Código: Java(TM) 2 Platform Standard Edition 5.0
  1. String formulario = "crearFrame.NewJFrame"; //crearFrame es el paquete y NewJFrame es el nombre de la clase
  2. ((JFrame) Class.forName(formulario).newInstance()).setVisible(true);

ó

Código: Java(TM) 2 Platform Standard Edition 5.0
  1. String formulario = "crearFrame.NewJFrame";
  2. JFrame frame = (JFrame) Class.forName(formulario).newInstance();
  3. frame.setVisible(true);

y así logramos llamar nuestro formulario dado su nombre mediante una String.
Espero que te sirva, talvez algo tarde!! jejeje!!

Código Completo
Código: Java(TM) 2 Platform Standard Edition 5.0
  1. package crearFrame;
  2.  
  3. import java.util.logging.Level;
  4. import java.util.logging.Logger;
  5. import javax.swing.JFrame;
  6.  
  7. public class crearFrame {
  8.  
  9.     public static void main(String[] args) {
  10.         String formulario = "crearFrame.NewJFrame"; // este puede ser el campo de tu BD que contiene tu formulario
  11.         try {
  12.             ((JFrame) Class.forName(formulario).newInstance()).setVisible(true);    
  13.             /*Asignandolo a una variable;
  14.             JFrame frame = (JFrame) Class.forName(formulario).newInstance();          
  15.             frame.setVisible(true);            
  16.             */
  17.         } catch (IllegalAccessException ex) {
  18.             Logger.getLogger(crearFrame.class.getName()).log(Level.SEVERE, null, ex);
  19.         } catch (InstantiationException ex) {
  20.             Logger.getLogger(crearFrame.class.getName()).log(Level.SEVERE, null, ex);
  21.         } catch (ClassNotFoundException ex) {
  22.             Logger.getLogger(crearFrame.class.getName()).log(Level.SEVERE, null, ex);
  23.         }        
  24.     }
  25. }
Título: Re:¿Cómo llamar a mi formularios desde una base de datos con java?
Publicado por: omar125-02 en Sábado 14 de Abril de 2012, 17:19
GRAcias por responder, parece interesante el codigo lo probare. Saludos :jumpie:
Título: Re:¿Cómo llamar a mi formularios desde una base de datos con java?
Publicado por: droezva en Martes 17 de Abril de 2012, 05:42
checate este proyecto que hice en donde desde la base de datos saco los formulario y los ligo a una opción de un menú, espero que te sirva este ejemplo  jejeje esta en NetBeans 7

Saludos y cualquier cosa preguntas!!   :suerte: