Java - generar jlabels dinamicamente

   
Vista:

generar jlabels dinamicamente

Publicado por jimcastro (4 intervenciones) el 24/05/2009 22:59:54
Hola, tengo en un String guardado el sigiente valor "JLabel lab = new JLabel("etiqueta");" . Alguien sabe si hay forma de que el sistema evalue el contenido del string y genere la etiqueta. Saludos al que escucha.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:generar jlabels dinamicamente

Publicado por Mario (40 intervenciones) el 25/05/2009 10:38:33
Creo que lo mejor para eso es construirte tú mismo algún método que evalúe ese string, no sería nada complejo.
En primer lugar, obtendrías la primera palabra del String y comprobarías que pusiera "JLabel", si es así, buscas el texto que hay entre (" y ").
Así solo tendrías que crear ya el JLabel y ponerle el texto que has encontrado.
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generar jlabels dinamicamente

Publicado por Jimcastrox (4 intervenciones) el 25/05/2009 11:02:18
Gracias Mario, la cuestión la expuse solo para las label para simplificar, pero en realidad la idea es tener en una base de datos guadado el tipo objeto a generar (boton, label, checkbox o lo que sea) , leer de la base de datos todos los datos y "pintarlos". Cuando me refiero a todos es por ejemplo un JFrame con un formulario. El problema es que puedo cargar de la base de datos el elemento a generar pero desde java no se como hacer para que el sistema interprese ese String. Gracias por la ayuda. un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generar jlabels dinamicamente

Publicado por Mario (40 intervenciones) el 25/05/2009 13:14:45
Bueno, si no son muchos los objetos que vas a tratar, podrías hacerte un switch en el que distinguieses los distintos tipos de objetos.
La forma más profesional sería usando la clase Class.
Podrías instanciar un label de esta forma Object o = Class.forName("JLabel");

Con lo cual solo tendrías que descomponer la cadena y obtener el tipo de objeto que kieres, y luego instanciarlo con Class.forName("CLASE");

El problema es que no sé si tb necesitarías tener un nombre específico para dicho objeto, es decir... Si seguimos el ejemplo de Object o = Class.forName("JLabel"), el nombre del objeto es 'o'. No sé si necesitas crear dicho objeto con un nombre concreto o no.

Si puedo ayudarte en algo más o necesitas hacer más cosas a parte de instanciar un objeto determinado x su nombre dímelo, a ver si se me ocurre algo ; )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generar jlabels dinamicamente

Publicado por jimcastrox (1 intervención) el 25/05/2009 14:10:43
Gracias Mario, al final voy a intentar seguir un camino distinto, más largo, pero creo que más interesante para mi aprendizaje. Voy a generar un fichero .java con todas las etiquetas que necesito para generar el formulario e intentar que ese generador me sirva para los distintos casos que quiero generar. Gracias por tus comentarios, si se te ocurren más cosas son bienvenidas. salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generar jlabels dinamicamente

Publicado por Mario (40 intervenciones) el 26/05/2009 09:35:00
Como no tengo muy claro tu objetivo final y la base de la que partes... no se me ocurre mucho más, pero si necesitas cualkier cosa no dudes en preguntarme de nuevo que ya te dire si se me ocurre algo ; )

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar