Stai usando due oggetti diversi: nel primo caso dichiari una JTextField che non hai mai inizializzato, nel secondo caso ne dichiari e contemporaneamente istanzi una copia locale...
Siccome non hai postato per bene tutto il codice, a prima vista potrebbe sembrare tutto corretto, ma un occhio più attento lo nota di sicuro:
codice:
ho creato una JTextField: (errore: l'hai solo dichiarata!!)
private JTextField sPort;
//altro codice
JTextField sPort = new JTextField(20); (qui ne dichiari e istanzi una copia diversa!!)
container.add( sPort );
//altro codice
ed ho creato anche un pulsante a cui ho dato questa azione:
if(source.equals(saveButton))
{
System.out.println("Prova numero 32");
System.out.println(sPort.getText()); (qui sicuramente fai riferimento a quella esterna, mai inizializzata!)
}
Come correggere: togli la scritta in rosso.
Ciao.