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

Problema escribir en JTextField

Estas en el tema de Problema escribir en JTextField en el foro de Java en Foros del Web. Hola, tengo un problema en mi imlementacion de un calendario que escribe en un JTextField. Ahora me funciona pero tengo que cambiar la forma implementada. ...
  #1 (permalink)  
Antiguo 16/11/2007, 06:29
 
Fecha de Ingreso: junio-2005
Mensajes: 60
Antigüedad: 18 años, 11 meses
Puntos: 0
Problema escribir en JTextField

Hola, tengo un problema en mi imlementacion de un calendario que escribe en un JTextField. Ahora me funciona pero tengo que cambiar la forma implementada.

La forma en que lo hago ahora es de la siguiente manera:
Tengo un JTextField y en otro Frame diferente tengo un Calendario. Al pulsar sobre un dia esto genera una interrupcion que lo que hace es (el propio Calendario) actualizar el Date del dia en el Frame y pintar directamente en el JTextField la nueva fecha. Es decir le paso a la clase Calendario el JTextField.

Ahora tengo que hacerlo sin pasar el JTextField, es decir, al generarse la interrupcion al pulsar sobre un dia, el calendario actualizaria el Date del JTextField y le diria a la clase que contiene el JTextField, que se representase en el JTextField, el caso es que esto no se hacerlo, pues no tengo acceso desde la clase Calendario a la que tiene el JTextField.

No se si es muy lioso, si es asi lo intento explicar mejor.

Gracias.
  #2 (permalink)  
Antiguo 16/11/2007, 09:14
 
Fecha de Ingreso: junio-2005
Mensajes: 60
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Problema escribir en JTextField

No se si esto ayuda, pero lo que quiero es simplemente que el Calendario genere un Date en un JFrame y en otor JFrame lo represente, indistintamente sea un JTextField o un JLabel. El caso es que si no le paso esta clase al calendario (JTextField o JLabel) no se como llamarla desde el calendario con el "Clase.pintate();"
  #3 (permalink)  
Antiguo 16/11/2007, 09:23
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema escribir en JTextField

Si te he entendido bien, simplemente necesitas acceder al contenido y representarlo en en otro JTextField.

Hay un método, getComponents, que proporciona un array con los componentes del panel que lo llama. O sea: panel.getComponents(), te dará los componentes de ese panel. Luego, simplemente coges el JTextField que te interese y lo tratas como quieras.

Saludos.
  #4 (permalink)  
Antiguo 16/11/2007, 09:39
 
Fecha de Ingreso: junio-2005
Mensajes: 60
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Problema escribir en JTextField

Pero como le envio la clase a Calendario? Me explico:
Tengo una clase A que representa el dia en un JLabel y una clase B que lo representa en un JTextField.

El constructor de Calendario seria: Calendario (X); Donde ese X tiene que ser una clase generica, como lo hago eso? Pues puedo recibir una clase A y una clase B y despues una vez tengo el dia, llamar a su respectivo "pintar()".
  #5 (permalink)  
Antiguo 16/11/2007, 09:45
 
Fecha de Ingreso: junio-2005
Mensajes: 60
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Problema escribir en JTextField

Por cierto, no estoy seguro que el contructor tnga que ser del estilo Calendario(X). Simplemente se que ese Calendario produce un valor dia, que puede ser representado por diferentes clases, las cuales se representan a ellas mismas con un metodo Pintar(), es decir en calendario, al generarse el evento que me da el dia, tendria que lamar al metodo pintar() de la clase que lo va a represantar, el problema es que a priori no se si esa clase lo representa en un textfield o en un JLabel.
  #6 (permalink)  
Antiguo 16/11/2007, 11:06
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema escribir en JTextField

Creo que no te comprendo bien.

Puedes hacer una clase que reciba en el constructor el argumento de nu JTextField, el que te interese.

De todas formas, pon el código, a ver que haces, porque ya te digo que no te comprendo demasiado bien.
  #7 (permalink)  
Antiguo 16/11/2007, 14:38
 
Fecha de Ingreso: junio-2005
Mensajes: 60
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Problema escribir en JTextField

Primeramente gracias por las respuestas. El codigo es bastante, porque tienen muchas pijadistas. Mi problema es que no se como enfrentarlo, lo tengo asi:

JFrame1 que tiene un JTextField y un boton, pulso el boton y crea un evento, el cual crea otro JFrame que es un calendario. A este calendario le paso por parametro en el constructor el JTextField, entonces lo que hago es, dentro del Calendario, modificar este JTextField y entonces mostrar el dia seleccionado. El problema me viene ahora, que quiero que el dia seleccionado me lo muestre en un JTextField y un un JLabel. Entonces he pensado independizar el "pintar", es decir, que el calendario unicamente devuelva el dia al JFrame y este sea el encargado de pintarse a el mismo. Esto me da un problema, y es que es el calendario el que tiene que llamar al metodo pintar cuando se pulsa sobre un dia, y la estructura es objeto.metodo, y claro, yo no se si el objeto es del tipo A o B. No se si me he explicado...

En definitiva lo que quiero es un Calendario(el cual ya tengo) que devuelve date, cosa que tengo y lo que quiero es aparte un Jframe donde se vea ese dia marcado. Este dia marcado puede mostrarse en de diferentes formas, es decir, en un JLabel, en un JTextField, o incluso como etiqueta de un JBotton, pero es algo que al calendario no le tiene que importar, es decir, al clase donde quiero "pintarlo" tendria que tener un metodo "Pintate". Yo ahora mismo lo tengo hecho para un JTextField el cual paso por parametro, pero quiero, por decirlo de alguna forma especializarlo más y que no este sujete unicamente a ese JTextField.
  #8 (permalink)  
Antiguo 18/11/2007, 04:29
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema escribir en JTextField

Pásale un Component, no un JTextField, y luego ves de que tipo es el componente. Según sea el tipo, pues haces una cosa u otra.

Saludos.
  #9 (permalink)  
Antiguo 18/11/2007, 14:33
 
Fecha de Ingreso: junio-2005
Mensajes: 60
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Problema escribir en JTextField

Hola Ethiel, eso no me sirve. Me soluciona el ejemplo que te puse, pero me quede corto, por ejemplo puedo tener otra clase que tenga 3 JTextField y que represente el dia en uno de ellos, el mes en otro y el año en otro. He estado leyendo obre polimorfismo, y creo que es eso lo que soluciona mi problema. El caso es que ahora donde estoy no puedo probarlo, te pongo lo que he pensado, a ver si tu que sabes mal, me puedes decir si me puede funcionar.

Tendria una clase A general, despues tendria clases B por ejemplo que extienden de A y redefinen el metodo dibujar, es decir, para que cada uno se lo muestre en un JTextField, en 3 o en un JLabel segun me de.

El caso seria que las los objetos los crearia asi: ClaseAGeneral objeto = new ClaseB() y al calendario le pasaria un objeto del tipo ClaseAGeneral, y entonces a este ya le diria objeto.pintate() y este sabe como se tiene que mostrar en funcion de si es un JTextField, 3 o un JLabel.


¿Que te parece esta opcion? ¿Es la edecuada? ¿ Puede funcionarme?
  #10 (permalink)  
Antiguo 20/11/2007, 03:44
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema escribir en JTextField

Te funcionará sin problemas. Dentro de la clase B tendrías que indicar que componente y cómo se pinta, pero funcionará.

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 04:22.