Le GUI lavorano ad eventi: deve esserci un evento che scatena un'operazione. Questo evento può essere la pressione di un pulsante, il clic su un bottone, la perdita del focus di un componente, ecc.

In merito a quale evento vorresti recuperare (salvare significa un'altra cosa) il testo scritto nella variabile String?

Il KeyListener è un listener che risponde a 3 eventi distinti: pressione di un tasto, rilascio di un tasto e (combinazione delle due) digitazione di un carattere... non mi pare sia "sensato" usare un KeyListener per questi scopi.

Se vuoi recuperare la stringa, ad esempio, quando l'utente preme INVIO (scatena un'azione ben precisa, di conferma sul campo), puoi aggiungere un ActionListener alla JTextField:


codice:
tuaTextField.addActionListener( new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent ae) {
      recuperaContenuto();
   }
});

...

private void recuperaContenuto() {
   String str = tuaTextField.getText();
   // Fai quel che vuoi con la stringa "str"
}

Ciao.