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

Como extender un KeyListener

Estas en el tema de Como extender un KeyListener en el foro de Java en Foros del Web. Hola, tengo el siguiente código que está abajo que lo quiero aplicar además de sobre el jFormattedTextField4, sobre más jFormattedTextField diferentes. Lo que hace es, ...
  #1 (permalink)  
Antiguo 15/08/2009, 15:16
 
Fecha de Ingreso: junio-2009
Mensajes: 59
Antigüedad: 14 años, 11 meses
Puntos: 0
Como extender un KeyListener

Hola, tengo el siguiente código que está abajo que lo quiero aplicar además de sobre el jFormattedTextField4, sobre más jFormattedTextField diferentes. Lo que hace es, a la par que escribo un double en jFormattedTextField4...lo escribe tb en jFormattedTextField3. Tengo tb un evento mouseClicked sobre jFormattedTextField4, lo que explicaría algún paso que veréis, PERO EN ESTE CASO EL CÓDIGO ES LO MENOS IMPORTANTE!
Copiarlo y pegarlo este código en cada jFormattedTextField y cambiar el numero (jFormattedTextField4->jFormattedTextField5) es una opción, pero quiero hacerlo extendiendo KeyListener, de manera que ahorrarme lineas de codigo...¿Como lo podría hacer? Me imagino que crear un nuevo paquete dentro del proyecto, con una clase que extienda a KeyListener, ¿cómo seguiría el esqueleto de ese código?

Código PHP:
        this.jFormattedTextField4.addKeyListener(new KeyListener() {
        @
Override
            
public void keyPressed(KeyEvent e) {
                
displayInfo(e);  //llamamos al metodo displayinfo

            
}

            protected 
void displayInfo(KeyEvent e){
                
int keyCode e.getKeyCode();  //obtenemos el codigo de la tecla
                
String keyText e.getKeyText(keyCode);  //luego el caracter
                
                
if( (Double.parseDouble(jFormattedTextField4.getValue().toString()) != 0) && (!(jFormattedTextField4.getText().isEmpty())) ){
                    
int keyCode2 e.getKeyCode();
                    
keyTxt += e.getKeyText(keyCode2);
                    
/*System.out.println(keyTxt);*/
                
}else{
                    if((
jFormattedTextField4.getText().isEmpty())){
                        
keyTxt "";
                    }
                }
                if( (
"Suprimir".equals(keyText)) || ("Retroceso".equals(keyText)) || (keyText.contains("NumPad-")) || ("Comma".equals(keyText))
                        || (
"Suprimir".equals(keyTxt)) || ("Retroceso".equals(keyTxt)) || (keyTxt.contains("NumPad-")) || ("Comma".equals(keyTxt))){
                    if( (
"Retroceso".equals(keyText)) || ("Suprimir".equals(keyText)) || ("Retroceso".equals(keyTxt)) || ("Suprimir".equals(keyTxt)) ){
                        
keyText e.getKeyText(48);
                    }else if(
"Comma".equals(keyText) || "Comma".equals(keyTxt)){
                        
keyText "."/*e.getKeyText(44)*/;
                        
                    }
                    else{
                        
keyText keyText.substring(keyText.length()-1).trim();
                    }
                }

                
keyTxt += keyText;
                
/*System.out.println(keyTxt);*/
                
jFormattedTextField3.setValue(Double.parseDouble(keyTxt.toString()));  //lo pintamos en el campo descuento y aparece en el campo precio
                
            
}

            public 
void keyReleased(KeyEvent e) {

            }

            public 
void keyTyped(KeyEvent e) {

            }


        }); 
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.