Semplicemente perchè memorizzi i loro valori nelle variabili...
Quando modifichi il valore di una JTextField, ciò che viene cambiato è lo stato interno del controllo... non di certo le variabili che hai dichiarato tu e di cui il JTextField non può avere alcuna conoscenza.
Quello che devi fare tu è reperire il valore attuale del JTextField e, eventualmente, confrontarlo con il valore delle variabili (che conterrà sempre il valore vecchio).
Ciao.codice:public void modifica(){ System.out.println("campo1: "+jtextfield1.getText()); System.out.println("campo2: "+jtextfield2.getText()); }![]()