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

2 jTextField que tengan funciones distintas con KeyPressed

Estas en el tema de 2 jTextField que tengan funciones distintas con KeyPressed en el foro de Java en Foros del Web. Buenas, recién estoy aprendiendo usar los componentes GUI de JFrame y de momento me topé en una duda: Tengo 2 jTextField llamados text1 y text2, ...
  #1 (permalink)  
Antiguo 27/06/2012, 13:35
 
Fecha de Ingreso: junio-2009
Mensajes: 84
Antigüedad: 15 años, 4 meses
Puntos: 2
2 jTextField que tengan funciones distintas con KeyPressed

Buenas, recién estoy aprendiendo usar los componentes GUI de JFrame y de momento me topé en una duda:

Tengo 2 jTextField llamados text1 y text2, y necesito que para ambos, al presionar Enter haga una función, pero necesito hacer que si hago Enter en text1, tenga una función distinta que si lo hago en text2.

Código PHP:
text1.addKeyListener(this);
text2.addKeyListener(this);

public 
void keyPressed(KeyEvent e) {
        if(
e.getKeyCode()==KeyEvent.VK_ENTER){


de momento si presiono Enter en cualquiera de los 2 componentes, no se como hacer que tengan funciones distintas en el método keyPressed, ¿como se hace?
  #2 (permalink)  
Antiguo 27/06/2012, 14:25
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: 2 jTextField que tengan funciones distintas con KeyPressed

Buenas,

Para lo que quieres hacer existen las clases anónimas.

Fíjate:

Código Java:
Ver original
  1. text1.addKeyListener(new KeyAdapter(){
  2.  
  3. public void keyPressed(KeyEvent e) {
  4.         if(e.getKeyCode()==KeyEvent.VK_ENTER){
  5.    //Haces lo que quieres en el textbox1
  6. }  
  7. });
  8.  
  9. text2.addKeyListener(new KeyAdapter(){
  10.  
  11. public void keyPressed(KeyEvent e) {
  12.         if(e.getKeyCode()==KeyEvent.VK_ENTER){
  13.       //Haces lo que quieres en el textbox2
  14. }  
  15. });
  #3 (permalink)  
Antiguo 28/06/2012, 11:51
 
Fecha de Ingreso: junio-2009
Mensajes: 84
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: 2 jTextField que tengan funciones distintas con KeyPressed

Muchas gracias, desconocía de dichas clases.

Saludos
  #4 (permalink)  
Antiguo 28/06/2012, 12:26
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años, 6 meses
Puntos: 8
Respuesta: 2 jTextField que tengan funciones distintas con KeyPressed

Las clases anónimas son muy útiles para este caso, aunque te daré otra opción (menos conveniente) sólo para que la conozcas!

Mira, en tu método keyPressed pones una condición

Código Java:
Ver original
  1. if(e.getSource() == text1)
  2.    // Aquí haces lo que quieres hacer con text1
  3. else
  4.    // Aquí lo que quieres hacer con text2, igual puedes usar un switch
  5.    // u otro if en lugar de if else (que lo puse en este caso por ser
  6.    // sólo 2 opciones.

Etiquetas: distintas, funciones, jtextfield
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 20:15.