Ayuda por favor!! Simular tecla tabulador con otra tecla!!
Hola,
me gustaria simular el efecto que produce el presionar la tecla tabulador (cambio de foco) sobre cualquier componente swing pero con otra tecla (p.e enter)
Gracias.
me gustaria simular el efecto que produce el presionar la tecla tabulador (cambio de foco) sobre cualquier componente swing pero con otra tecla (p.e enter)
Gracias.
Hola.
Lo unico que tienes que hacer es esto:
campo1.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_ENTER)
{
campo2.requestFocus();
}
}
});
Con eso sera suficiente para que cuando presiones ENTER en un campo de texto, el foco salte al siguien campo o bien, al campo que tu quieras que salte, todo depende de lo que digas que haga ( campo3.requestFocus(); ó campoN.requestFocus(); )...
Espero te sirva, hasta pronto...
Lo unico que tienes que hacer es esto:
campo1.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_ENTER)
{
campo2.requestFocus();
}
}
});
Con eso sera suficiente para que cuando presiones ENTER en un campo de texto, el foco salte al siguien campo o bien, al campo que tu quieras que salte, todo depende de lo que digas que haga ( campo3.requestFocus(); ó campoN.requestFocus(); )...
Espero te sirva, hasta pronto...
gracias Pavel Franco Marin, requestFocus(); es la función que se usa para que cierto conponente pida la bandera de enfocado
una opcion es añadir un keylistener y validad que cuando se presionen las teclas q quieras las reemplace por el tab
algo asi:
public void keyPressed( KeyEvent e )
{
char c = e.getKeyChar();
if ( c == KeyEvent.VK_ENTER)
c = KeyEvent.VK_TAB; // cambiamos el enter por tab
}
algo asi:
public void keyPressed( KeyEvent e )
{
char c = e.getKeyChar();
if ( c == KeyEvent.VK_ENTER)
c = KeyEvent.VK_TAB; // cambiamos el enter por tab
}
Hola,
gracias por tu ayuda, pero en el ejemplo que me pones no entiendo muy bien lo que haces ya que compruebas si se ha pulsado la tecla enter y en caso afirmativo metes en la variable c la macro KeyEvent.VK_TAB pero no veo como eso puede hacer que se simule el efecto de tab al pulsar enter, osea que se produzca el cambio de foco.
Gracias.
gracias por tu ayuda, pero en el ejemplo que me pones no entiendo muy bien lo que haces ya que compruebas si se ha pulsado la tecla enter y en caso afirmativo metes en la variable c la macro KeyEvent.VK_TAB pero no veo como eso puede hacer que se simule el efecto de tab al pulsar enter, osea que se produzca el cambio de foco.
Gracias.
no lo he probado
pero cuando pulsas tab normalmente cambias de foco en tus aplicaciones
me imagino q quieres que cuando alguien dé enter en un textfield se pase al siguiente como si pulsara tab. Éso es lo que hace el codigo en teoria. reemplaza el valor del char por el el de un Tab, asi cuando presiones enter, antes de que tenga efecto, sera reemplazado por un tab
pruebalo
pero cuando pulsas tab normalmente cambias de foco en tus aplicaciones
me imagino q quieres que cuando alguien dé enter en un textfield se pase al siguiente como si pulsara tab. Éso es lo que hace el codigo en teoria. reemplaza el valor del char por el el de un Tab, asi cuando presiones enter, antes de que tenga efecto, sera reemplazado por un tab
pruebalo