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

enter

Estas en el tema de enter en el foro de Java en Foros del Web. hola a todos... espero que les este yendo bien... mi consulta consite en que me digan como implemento mis cajas de texto para que, cuando ...
  #1 (permalink)  
Antiguo 30/09/2004, 10:23
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 20 años, 9 meses
Puntos: 0
enter

hola a todos...
espero que les este yendo bien... mi consulta consite en que me digan como implemento mis cajas de texto para que, cuando dentro de ellas se apriete "enter", se ejecute la accion de un boton.. y otra cosita.... como hago que una caja de texto obtenga el foco???... ... en el caso del enter, me he dado cuenta que cuando con el tecladoaccedo a un boton este no se activa apretando enter sino la barra espaciadora... como puedo cambiar esto??
Como ven son cosas sencilitas pero las he estado buscando en un manual y no lo encuentro aun.... porfavor ayudenme
Gracias de antemano
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
  #2 (permalink)  
Antiguo 30/09/2004, 16:19
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Código PHP:
//accion del entre del boton
JButton enviar = new JButton("Enviar");

enviar.addActionListener(new ActionListener() {
    public 
void actionPerformed(ActionEvent e) {
        
//Aqui lo que realizara cuando hagamos enter
    
}
});

//ahora le pasamos el foco al boton
boton.setFocus(); 
Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 01/10/2004, 13:46
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola Gonzalo... gracias por tu respuesta pero creo que no me he explicado bien... mira, poniendo un ejemplo concreto de una pantalla de ingreso en la que tengo una caja para el login, otra para el password y un boton de envio... lo que necesito saber es como implementar lo siguietne:
1.- he tipeado el login, luego el passord y cuando aun no abandono la caja del password presiono la tecla enter y se ejecuta el ActionListener del boton de envio
2.- casi lo mismo de lo anterior pero, cuando aun estoy en la caja del password, presiono "tab" y paso el foco al boton, entonces, es aqui donde me hedado cuenta de que, teniendo el boton el foco, si presiono "enter" el actionListener no se ejecuta, pero, si presiono la barra espaciadora, si corre el listener... como hago para cambiar el estimulo de la barra espaciadora por el enter???
3.- me equioque de password o de login, arrojo un mensaje, presiono "aceptar" sobre el mensaje y quiero que la caja de texto coja el focus... para esto no existe un metodo setFocus()....
4.- como seteo el "tab index" para cada componente???

Espero que todo sea éxitos y gracias nuevamente por su ayuda

Paco
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
  #4 (permalink)  
Antiguo 01/10/2004, 14:14
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
En el caso de como ejecutar la accion con el ENTER, si no te funca asi como lo estas haciendo, entponces ponele un escuchardor de teclas addKeyListener y luego en el evento preguntas si la tecla precionada es el ENTER y mandas a ejecutar la accion.

Con respecto a lo del focus, es tan simple como cuando muestras el mensaje, justo despues de la linea que hace que el mensaje se muestre, es decir, justo despues del

Código PHP:
JOptionPane.showMessage.... 
pones el objeto que kieres que gane el foco

Código PHP:
cajaLogin.requestFocus(); //por ejemplo 
Con Resptecto a lo de los TabIndex, almenos hasta el momento no he visto nada como eso de VB que a cada elemento le elijes su numero. En Java simplemente debes ir iniciando los objetos en el orden que quieras que tengas su TabIndex, ejemplo, si kieres que la caja de texto Login este justo antes en su TabIndex que la des password solo debes iniciarlas en este orden.

Código PHP:
JTextField login = new JTextField();
JPassword password = new JPassword(); 
Esto hace inmediatamente que si esta en la caja login y precionas TAB el foco pasa al password.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo

Última edición por goncafa; 01/10/2004 a las 14:27
  #5 (permalink)  
Antiguo 03/10/2004, 04:45
Avatar de kripton  
Fecha de Ingreso: diciembre-2002
Ubicación: Zaragoza
Mensajes: 296
Antigüedad: 21 años, 4 meses
Puntos: 0
Solo una puntualización.

En java salvo que si implente una política del foco donde indicas el orden que quieres para tus elementos ganen el foco... El orden viene determinada por la posición de los componentes dentro del contenedor. Y la prioridad del foco es de arriba a bajo y de izquierda a derecha. (independientemente del orden de definición, se orienta por los setBound y los setLocation o en su defecto los add)

De forma que si tenemos un único panel con cuatro elementos, el foco se situará en el primer componente que este más arriba y más a la izquierda, y el último será el que este más abajo y más a la derecha.

Si tuviesemos dos paneles y cada uno de ellos contuviese cuatro elementos, primerio iría al panel situado más arriba y más a la izquierda y recorrería todos sus componentes en el orden mencionado anteriormente. Y luego saltaría al siguiente panel y recorrería sus elementos con la misma política.

Espero me hayan entendido

Un saludo
kripton
__________________
Hoy por ti, mañana por mi. Compartiendo entre amigos.

Usuario Registrado Linux #327495
  #6 (permalink)  
Antiguo 03/10/2004, 11:09
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Muchas gracias por la aclaración

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #7 (permalink)  
Antiguo 04/10/2004, 16:12
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 20 años, 9 meses
Puntos: 0
si, muchas gracias tambien por la aclaracion... y para cerrar este tema les diré que ya encontre la forma de hacer que cuando se presione el enter, se ejecute la accion del boton... era simplemente agregarle el addActionListener a la caja de texto...

muchsa gracias y éxitos para todos
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
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 13:44.