Home Foros Foro dudas Foro de Java Consulta como usar un metodo de la clase JFrame desde otra clase… Respuesta a: Consulta como usar un metodo de la clase JFrame desde otra clase…

Respuesta a: Consulta como usar un metodo de la clase JFrame desde otra clase…

Home Foros Foro dudas Foro de Java Consulta como usar un metodo de la clase JFrame desde otra clase… Respuesta a: Consulta como usar un metodo de la clase JFrame desde otra clase…

#11764

FrankMegia
Participante

Hola Cristian. A ver si puedo resolverte todas tus dudas. La palabra reservada this hace referencia a la clase en la que está. Atendiendo al flujo del código, cuando se llama al constructor de la clase se crea un objeto, donde se definen los botones y le pasas al AccionColor “ese objeto” que se ha creado. Así puedes tener acceso a él y manipularlo.

Respecto a por qué funcionan los botones sin necesidad del addActionListener es porque los botones se construyen usando una Action en su parámetro. Si miras la API verás ese constructor JButton(Action a) y si lees la descripción de la Interface Action, verás que dice que la acción es añadida como un actionListener, de ahí que funcionen. Y es por ese motivo es por el que te salen 2 mensajes con el botón azul, porque ya tenía el primer actionListener por la Action y otro porque se lo pones tú explicitamente.

Aquí el mayor problema que tienes es que para trabajar con clases no internas, la “información” tiene que pasar de unas a otras de algún modo y eso es por medio de los parámetros. Quizá una traducción a lo burdo del código sería: “Vale, tengo que cambiar el color a un panel cuando se pulse un botón específico, pero a qué panel? … a este (this) que te lo he pasado por parámetro”.

No soy Juan explicando, pero espero que te resuelva alguna de las dudas. Un saludo.