Home Foros Foro dudas Foro de Java Video 79: ¿Por qué no es posible poner estos dos códigos juntos? Respuesta a: Video 79: ¿Por qué no es posible poner estos dos códigos juntos?

Respuesta a: Video 79: ¿Por qué no es posible poner estos dos códigos juntos?

Home Foros Foro dudas Foro de Java Video 79: ¿Por qué no es posible poner estos dos códigos juntos? Respuesta a: Video 79: ¿Por qué no es posible poner estos dos códigos juntos?

#15868

Santos
Participante

Hola de nuevo, en el código que has puesto veo algo raro. No puedes llamar al método getActionMap() sin más. Este método pertenece a la clase JComponent y no es estático, con lo que tendrás que utilizar algún objeto que herede de JComponent para utilizarlo.

Respecto a la utilización de dos métodos consecutivos, hay que tener claro si el método que utilices devuelve un objeto del tipo que sea, y a este objeto se le pueden aplicar sus métodos correspondientes, si este segundo método da como resultado otro objeto, se le podrá aplicar los métodos también que a este le correspondan… y así podrás encadenar métodos hasta el infinito y asignárselo a la variable que le corresponda con el objeto final.

por ejemplo:

Color pintura = casa.dimeComponente().dimeMaterial().dimeColor();

esta línea ficticia, la suma de sus tres métodos devuelve un objeto tipo Color.

casa.dimeComponente() devuelve el objeto tejado

tejado.devuelveMaterial() devuelve el objeto madera.

madera.dimeColor() devuelve el Color de la madera

En el ejemplo que tu has puesto, getActionMap() si te fijas en la API, no devuelve ningún objeto (void) con lo que no puedes encadenarle ningún método.

Espero que te sirva la explicación.

saludos