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