Non ho ben chiaro come deve funzionare la tua applicazione, ma proverei a spostare quella variabile intera all'interno di un oggetto da passare al metodo. Qualcosa di questo tipo:
public class Controllo {
private int iOldDDLen;
public int getIOldDDLen() {
return iOldDDLen;
}
public void setIOldDDLen(int iOldDDLen) {
this.iOldDDLen = iOldDDLen;
}
}
Dove hai dichiarato la variabile iOldDDLen andrai a dichiarare ed istanziare un oggetto di tipo Controllo. Esempio:
// private int iOldDDLen;
private Controllo idControllo = new Controllo();
In modo da replicare esattamente la logica iniziale (a questo punto la funzione può essere void):
public void checkForFocus(javax.swing.JTextField jTxtField, Controllo idControllo) {
if (jTxtField.getText().length() == 2 && idControllo.getIOldDDLen() == 1) {
idControllo.setIOldDDLen(0);
jTxtField.transferFocus();
} else {
idControllo.setIOldDDLen( jTxtField.getText().length() );
}
}
Ovviamente dovrai sostituire quella variabile con l'oggetto (e relativa chiamata al metodo getter/setter) ovunque la variabile venga usata.
L'utilizzo ora:
private void TxtGGKeyReleased(java.awt.event.KeyEvent evt) {
clWin.checkForFocus(TxtGG, idControllo);
}