Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/08/2008, 06:26
laura_morgar
 
Fecha de Ingreso: febrero-2008
Mensajes: 65
Antigüedad: 16 años, 2 meses
Puntos: 0
Exclamación Duda con KeyEvent

Hola a todos, lo que pretendo es lo siguiente:

Tengo una pantalla en la que muestro una tabla. Algunas de estas columnas son números (con decimales). Mi intención es que cuando se pulse la tecla "." del teclado numérico, en lugar de poner un "." ponga una "," (al igual que lo hacen las hojas de cálculo). Mi duda es cómo hacerlo???

Lo que se me había ocurrido era capturar el evento de pulsar la tecla "." y generar 2 (programáticamente) que sean "pulsar en la tecla retroceso" y "pulsar la tecla ,". Pero según lo he hecho no me funciona (os añado el código que tengo).

Código:
public void keyPressed(KeyEvent ke){
        if(ke.getKeyCode() == KeyEvent.VK_DECIMAL){
            try{
                new KeyEvent(tablaGastos,KeyEvent.KEY_PRESSED,ke.getWhen(),KeyEvent.ALT_MASK,8,KeyEvent.CHAR_UNDEFINED).consume();
                new KeyEvent(tablaGastos,KeyEvent.KEY_PRESSED,ke.getWhen(),0,44,',').consume();
            }catch(Exception e){System.out.println("\n\n"+e.getMessage());}
        }
        
    }
El método consume() no sé si está bien puesto ahí o no pero lo he probado con él y sin él y el resultado es el mismo.

¿¿Alguien me podría decir qué hago mal o cómo podría hacer lo que pretendo??

Muchísimas gracias de antemano y un saludo.