Programación General => Java => Mensaje iniciado por: ehlcves en Miércoles 2 de Abril de 2008, 19:39
Título: Copiar Por Valor Una Variable Image
Publicado por: ehlcves en Miércoles 2 de Abril de 2008, 19:39
Hola estoy tratando de obterer una copia del valor de una variable Image, es decir tengo dos variables Image y a una le asigno una imágen, y a la otra le asigno ésta variable, cuando cambio la imagen de la variable inicial se cambia en las dos, como puedo hacer para que se copien los valores y no las posiciones de memoria
Título: Re: Copiar Por Valor Una Variable Image
Publicado por: shadow_rev en Jueves 3 de Abril de 2008, 15:49
Utiliza clone()...
Código: Text
Image variable_clonada = imagen_original.clone();
Image otra_imagen = new Image(variable_clonada);
O
Código: Text
Image otra_imagen = new Image(imagen_original.clone());
Si no me equivoco, eso es lo que quieres hacer. No estoy seguro, pero pueden haber otras formas de hacerlo.
:suerte:
corrijo: el constructor de Image no recibe parámetros, según la documentación del API de Java. Tomalo a modo de ejemplo
Título: Re: Copiar Por Valor Una Variable Image
Publicado por: ehlcves en Jueves 3 de Abril de 2008, 18:11
HOla! muchas gracias por la respuesta.
Fué un error mio en la pregunta del post, ya que no era una Image lo que tenía, sino una RenderedOp. Me imaginé que daría igual una cosa que otra porque sería algo más general del tema de parámetros independientemente de la clase que fuera. He visto que la clase RenderedOp no tiene el método clone(). Me imagino que se podría transformar la RenderedOp para conseguir convertirla en un objeto de la clase Image. De todas formas ya conseguí solucionarlo. Realmente el error no era el que planteaba sino que metia la pata a la hora de mostrar las imágenes almacenadas, por eso pensaba que las estaba guardando mal.
De todas formas muchas gracias porque seguro que tu respuesta me sirve para problemas que me puedan surgir más adelante.
Un saludo!
Título: Re: Copiar Por Valor Una Variable Image
Publicado por: shadow_rev en Viernes 4 de Abril de 2008, 16:44
De hecho, el método clone() pertenece a Object, por lo que todas las clases lo tienen (Object viene siendo el padre de todas las clases que se crean)