• Sábado 21 de Septiembre de 2024, 13:51

Autor Tema:  Saber Que Componente Recibe El Foco  (Leído 2875 veces)

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Saber Que Componente Recibe El Foco
« en: Miércoles 25 de Octubre de 2006, 10:26 »
0
Saludos compañeros, como podria saber que componente es el que recibe el foco, el componente en concreto. Lo que quiero hacer es poner en el focusLost de un componente que si el foco lo recibe un componente haga una cosa y si lo recibe otro distinto haga otra cosa distinta, y para ello necesito saber como conseguir ese componente que lo recibe. Hay alguna manera de saberlo ?

Gracias por adelantado.

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Saber Que Componente Recibe El Foco
« Respuesta #1 en: Jueves 26 de Octubre de 2006, 12:24 »
0
Hola.

Echa un vistazo a la siguiente web:

http://java.sun.com/j2se/1.4.2/docs/api/ja.../FocusSpec.html

Y mira lo que hay en el API de Java acerca de la clase FocusEvent.



Un saludo.


Silverfox

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Re: Saber Que Componente Recibe El Foco
« Respuesta #2 en: Jueves 26 de Octubre de 2006, 16:12 »
0
Saludos, el codigo que yo tengo es este (esta clase es donde se muestran los componentes):

Public class NuevoProyecto extends Júrame
{
 Public NuevoProyecto ( …. Parámetros ….)
{
  // se muestran un campo de edicion y su lista correspondiente (lista cadenas positiva),   // asi cuatro veces (lista positiva, negativa, test positiva, test negativa)

Texto_neg.addFocusListener(new FocusAdapter()
{
  Public void FocusGained(FocusEvent e)
  {
    // hacer que si el foco le viene de texto_pos, saque un cuadro de dialogo predeterminado, y si no pues nada.
   }
}
}

Pero de la otra manera que me dijisteis no me deja, que instrucción puedo poner en el focusGained ¿??
Por favor ayudadme.

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Saber Que Componente Recibe El Foco
« Respuesta #3 en: Jueves 26 de Octubre de 2006, 17:28 »
0
Hola...

Como ya te dije, la solución a tus problemas está en el API Java, en la clase FocusEvent, concretamente, en el método getOppositeComponent().



Un saludo.





Silverfox

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Re: Saber Que Componente Recibe El Foco
« Respuesta #4 en: Jueves 26 de Octubre de 2006, 18:36 »
0
si, xo solo me detecta que es un JTextField, yo quiero saber que JTextField, si es texto_pos, texto_neg, texto_test_pos o texto_test_neg, es decir, el nombre que yo le he puesto a ese componente.
Por favor, ayudame. Gracias.

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Saber Que Componente Recibe El Foco
« Respuesta #5 en: Viernes 27 de Octubre de 2006, 07:52 »
0
Hola.

Claro que te dice sólo qué clase de elemento es... No querrás que te indique el nombre de la variable en tiempo de ejecución... ;)

Si miras el API de Component, verás que tienes un método getName().

Lo único que tienes que hacer es un setName() en cada uno de los lugares que traten el foco de forma diferente y comparar las cadenas de nombres.




Espero que te sirva.



Un saludo.