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

getRootpane()

Estas en el tema de getRootpane() en el foro de Java en Foros del Web. Pues eso amigo, leyendo veo que para poner un boton por defecto hay que utilizar el metodo setDefaultButton(button), segun la sintaxis para hacerlo funcionar tiene ...
  #1 (permalink)  
Antiguo 14/12/2011, 15:41
 
Fecha de Ingreso: octubre-2011
Mensajes: 90
Antigüedad: 12 años, 6 meses
Puntos: 1
getRootpane()

Pues eso amigo, leyendo veo que para poner un boton por defecto hay que utilizar el metodo setDefaultButton(button), segun la sintaxis para hacerlo funcionar tiene que ser algo como esto;

Jframe.getRootpane().setDefaultButton(button),

Como funciona en si esa linea de codigo?, lo digo porque se estan utilizando 2 metodos seguidos, el primero es un metodo de Jcomponent si no mal recuerdo y el segundo es un metodo de JRootPane, en fin no sabia que se podian unir 2 metodos de esa forma y de diferentes objetos, Bueno ahi dejo eso para ver si alguien me lo explica para verlo mejor.

Amigo Xerelo si eres tú te lo agradeceria me diste una explicacion bastante buena en el post que abri, por cierto te escribi privados pero creo que nunca te llegaron, cosa rara porque a mi no me salen como enviados tampoco, no se que me pasa con los privados. Gracias y saludos.
  #2 (permalink)  
Antiguo 16/12/2011, 02:42
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: getRootpane()

Es muy sencillo en realidad.

El primer método de JFrame (getRootpane) devuelve una referencia a un objeto de la clase JRootPane, el cual tiene como uno de sus métodos setDefaultButton.

Es posible realizar esta concatenación de métodos porque el método getRootpane devuelve un objeto, si no no sería posible.

Por ejemplo, el método setDefaultButton no devuelve nada, por lo que no se podría llamar a ningún método después de este.

Por ejemplo, la clase String permite con muchos de sus métodos realizar llamadas consecutivas, ejemplo:

Código Java:
Ver original
  1. String cadena = "   Esta es una cadena   ";
  2.  
  3. String nuevacadena = cadena.concat(", Otra cadena").substring(5).toUpperCase().trim();
  #3 (permalink)  
Antiguo 16/12/2011, 08:49
 
Fecha de Ingreso: octubre-2011
Mensajes: 90
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: getRootpane()

Ok amigo creo que lo entendi, pero por ejemplo con todos los metodos que devuelvan algo se pueden realizar llamadas consecutivas? es decir si en lugar de retornar un objeto retornan un valor tambien se puede hacer? gracias y un saludo.
  #4 (permalink)  
Antiguo 16/12/2011, 10:53
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: getRootpane()

Sólo se puede llamar a métodos en los objetos, por tanto, la respuesta es no. Cuando un método devuelve un tipo primitivo (como int, double, ...) no se puede llamar a ningún método porque no son objetos.

Esto es diferente en otros lenguajes de programación donde todos los tipos son objetos (como Ruby).

Saludos.
  #5 (permalink)  
Antiguo 16/12/2011, 10:57
 
Fecha de Ingreso: octubre-2011
Mensajes: 90
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: getRootpane()

Aja ok, mas o menos ahora lo entiendo.
  #6 (permalink)  
Antiguo 16/12/2011, 15:52
 
Fecha de Ingreso: octubre-2011
Mensajes: 90
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: getRootpane()

Bueno puse un ejemplo con objetos como bien dices y funciona. Saludos.
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 16:06.