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

[SOLUCIONADO] acceder a objeto creado en tiempo de ejecucion

Estas en el tema de acceder a objeto creado en tiempo de ejecucion en el foro de Java en Foros del Web. Buenas, estoy creando un programa en el que tengo una clase y en ella creo 200 botones en tiempo de ejecución. Más tarde en la ...
  #1 (permalink)  
Antiguo 17/10/2014, 13:19
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
Puntos: 31
acceder a objeto creado en tiempo de ejecucion

Buenas, estoy creando un programa en el que tengo una clase y en ella creo 200 botones en tiempo de ejecución.

Más tarde en la ejecución accedo a una segunda clase, y desde esta segunda clase quiero acceder a las propiedades de esos 200 botones para poder cambiarlas.

Esto... es posible hacerlo? Como se haría?

básicamente, el algoritmo que tengo sería algo así:

clase 1:
crear String nombreboton
funcionCreaBotones(){
for (i=1 a 10)for (j=1 a 20)nombreboton="btn"+i+j
botón=new jbutton.setName=nombreboton
botón.btn+i+j.propiedad=valor_de_propiedad
}
y más o menos asi creo los botones.

Pero ahora desde la clase 2... como accedo a esas propiedades que creé en el tiempo de ejecución pero que a la hora de escribir el código aún no existen esos botones?
  #2 (permalink)  
Antiguo 17/10/2014, 13:27
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: acceder a objeto creado en tiempo de ejecucion

Buenas,

Debes guardar las referencias a esos botones en algún sitio, como una lista por ejemplo que sea variable de instancia en clase1. Deberías dar acceso a esa lista con un get público por ejemplo.

Desde la clase 2, si tiene acceso a la instancia de clase1 debería hacer un get de la lista de botones y a través de ésta acceder a cada uno de ellos.

clase 1:
lista botones

crear String nombreboton
funcionCreaBotones(){
for (i=1 a 10)for (j=1 a 20)nombreboton="btn"+i+j
botón=new jbutton.setName=nombreboton
botón.btn+i+j.propiedad=valor_de_propiedad

botones.add(boton)
}

funcion getBotones(){ return botones}


clase2:
instanciaclase1.getBotones();
manipular botones

No se si con esto te sirve para que te hagas una idea, pero con el detalle que das no es posible dar una respuesta más aproximada.


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 18/10/2014, 12:41
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
Puntos: 31
Respuesta: acceder a objeto creado en tiempo de ejecucion

así si puedo acceder a él, la cosa es que si lo declaro de esta manera no se me ocurre como construir el nombre del botón para ser invocado desde mi clase 2.

Es decir, si declaro mis botones como boton00,boton01,boton02, etc...

luego desde clase 2 no se como puedo seleccionar esos botones con código durante la ejecución, ya que hasta que no esté en ejecución no se a qué botones tengo que acceder, y por lo tanto tendría que construir el nombre del botón para luego invocarlo... como podría hacer esto?

Si intento explicarme mejor, diría que puedo tener una variable String nombreboton que contenga el valor "botón" y que concatenase, por medio del código, el número del botón que quiero usar, llegando a tener p.ej "boton02" como valor de dicha variable.

Como entonces, podría llegar a usar el botón que se llama igual que el contenido de mi variable String nombreboton?
  #4 (permalink)  
Antiguo 19/10/2014, 06:41
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
Puntos: 31
Respuesta: acceder a objeto creado en tiempo de ejecucion

Al final lo que he hecho es una matriz de botones, y así puedo acceder al botón deseado siempre y cambiar sus propiedades en tiempo de ejecución, pues siempre trabajo con 1 único objeto.
  #5 (permalink)  
Antiguo 19/10/2014, 06:50
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: acceder a objeto creado en tiempo de ejecucion

Cita:
Iniciado por Kritik Ver Mensaje
Al final lo que he hecho es una matriz de botones, y así puedo acceder al botón deseado siempre y cambiar sus propiedades en tiempo de ejecución, pues siempre trabajo con 1 único objeto.
Eso era lo que iba a contestarte si hubiese visto antes tu mensaje. No necesitas los identificadores de variables para nada. Siempre puedes acceder por botones[1][1], botones[1][2].

Que te hayas respondido tu mismo es genial, porque así has aprendido. Enhorabuena.


Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: clases, ejecucion, programa
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 05:28.