Foros del Web » Programación para mayores de 30 ;) » Java »

Se puede crear un objeto con el nombre del contenido de una variable String en Java?

Estas en el tema de Se puede crear un objeto con el nombre del contenido de una variable String en Java? en el foro de Java en Foros del Web. Por ejemplo: tengo una variable de tipo String que se llama variable1 que contiene la cadena "variable2": String variable1 = "variable2"; Ahora, a partir de ...
  #1 (permalink)  
Antiguo 28/03/2010, 17:22
 
Fecha de Ingreso: marzo-2010
Mensajes: 11
Antigüedad: 14 años
Puntos: 0
Se puede crear un objeto con el nombre del contenido de una variable String en Java?

Por ejemplo:
tengo una variable de tipo String que se llama variable1 que contiene la cadena "variable2":

String variable1 = "variable2";

Ahora, a partir de variable1, ¿puedo crear una variable de tipo entero que se llame variable2(que es el contenido de variable1)?
  #2 (permalink)  
Antiguo 28/03/2010, 19:17
 
Fecha de Ingreso: marzo-2010
Mensajes: 18
Antigüedad: 14 años
Puntos: 3
Respuesta: Se puede crear un objeto con el nombre del contenido de una variable Strin

No, no se puede hacer lo que dices, es una restricción del lenguaje, puedes crear objetos de manera dinámica, pero variables con un nombre en específico, no.

Y eso como para que?, mejor plantea tu problema y tal vez, exista otra solución.

saludos!!!
  #3 (permalink)  
Antiguo 29/03/2010, 14:35
 
Fecha de Ingreso: marzo-2010
Mensajes: 11
Antigüedad: 14 años
Puntos: 0
Respuesta: Se puede crear un objeto con el nombre del contenido de una variable Strin

Cita:
Iniciado por sonicJava Ver Mensaje
No, no se puede hacer lo que dices, es una restricción del lenguaje, puedes crear objetos de manera dinámica, pero variables con un nombre en específico, no.

Y eso como para que?, mejor plantea tu problema y tal vez, exista otra solución.

saludos!!!
Ok. deja ver si me puedo dar a entender es un poco complejo pero voy a intentarlo.

Lo que pasa es que tengo 16 JInternalFrames' diferentes y cada una se activa desde el JMenuBar ahora lo que quiero hacer para cada un JInternalFrame es esto:


//Variables de clase
JInternalFrame jInternalFrame1 = null;
JInternalFrame jInternalFrame2 = null;
.
.
.
JInternalFrame jInternalFrame16 = null;


JDesktopPane desktop = new JDesktopPane();

----------------------------------
El siguiente código va dentro del metodo actionPerformed() y si lo observan bien se repetirá 16 veces una para cada JInternalFrame


if(evento.getSource() == jMenuItem1){ //Si el origen del evento tuvo lugar en el jMenuItem1 entonces...

if(jInternalFrame1 == null){ //Sí no se ha instanciado el objeto 'jInternalFrame1' entonces...


//Se instancia el objeto con otra clase y en esta clase se define el método setDefaultCloseOperation(HIDE_ON_CLOSE)
//De modo que si el objeto ya esta en memoria pero oculto, no crea otro solo lo hace visible mas adelante
jInternalFrame1 = new OtraClaseConExtendsJInternalFrame;

desktop.add(jInternalFrame1);//Y lo agregamos al JDesktopPane
}
jInternalFrame1 .setVisible(true);//Lo hacemos visible
}


Entonces lo que intento es colocar el código en un método que con solo mandarlo a llamar ejecute el codigo para el correspondiente JInternalFrame.

Ejemplo:

if(evento.getSource() == jMenuItem1){ mostrar() }//Aquí que muestre el jInternalFrame1

if(evento.getSource() == jMenuItem2){ mostrar() }//Aquí que muestre el jInternalFrame2

if(evento.getSource() == jMenuItem3){ mostrar() }//Aquí que muestre el jInternalFrame3


El metodo mostrar() quedaría algo así:

mostrar(){

if(jInternalFrameDestinado == null){ //Sí no se ha instanciado el objeto 'jInternalFrame1' entonces...

jInternalFrameDestinado = new OtraClaseConExtendsJInternalFrame;//Se instancia el objeto
desktop.add(jInternalFrame1);//Y lo agregamos al JDesktopPane
}
jInternalFrameDestinado .setVisible(true);//Lo hacemos visible
}


Obviamente le debo mandar un parametro al método mostrar() para que actue sobre el JInternalFrame deseado, pero no sé como hacerlo.
  #4 (permalink)  
Antiguo 29/03/2010, 18:47
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Se puede crear un objeto con el nombre del contenido de una variable Strin

Por que no meter todos los JInternalFrame's en un ArrayList (o algun contenedor) de JinternalFrames, y luego, en vez de copiar muchas veces el codigo, iteras sobre el contenedor?
  #5 (permalink)  
Antiguo 30/03/2010, 15:56
 
Fecha de Ingreso: marzo-2010
Mensajes: 11
Antigüedad: 14 años
Puntos: 0
Respuesta: Se puede crear un objeto con el nombre del contenido de una variable Strin

Cita:
Iniciado por CalgaryCorpus Ver Mensaje
Por que no meter todos los JInternalFrame's en un ArrayList (o algun contenedor) de JinternalFrames, y luego, en vez de copiar muchas veces el codigo, iteras sobre el contenedor?
Buena respuesta, garcias.
De hecho los metí en un array normal y le mandé un parametro de tipo entero al metodo mostrar() indicandole la posición del objeto con el que deseo operar dentro del array. Gracias.
  #6 (permalink)  
Antiguo 30/03/2010, 15:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 11
Antigüedad: 14 años
Puntos: 0
Respuesta: Se puede crear un objeto con el nombre del contenido de una variable Strin

Y ahora como cierro este tema?
Ya esta solucionado

Etiquetas: contenido, nombre, objeto, string, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:09.