PDA

Visualizza la versione completa : [java] getText() ma il confronto non va!


fraper
21-01-2005, 12:09
Salve a tutti...

definisco un campo di testo

TextField textf = new TextField();

lo disegno

textf.setBounds(new Rectangle(bla,bla,bla,bla));

vorrei poi, ottenere il valore che viene inserito nel campo di testo e faccio cos...

String testo = textf.getText();

e tutto Ok!

Adesso vorrei che se non inserisco niente nel campo di testo, venga eseguito un System.exit(0)...ma solo nel caso che non viene digitato alcun valore...nel caso che viene digitato qualcosa, mi venga stampato in console...faccio cos.....

if (testo == null) {
System.exit(0);
}
else {
System.out.println(testo);
}

Come mai non va?

se inserisco un valore mi viene stampato..ma se non digito niente, non viene eseguito il System.exit(0).....perch?

Andrea1979
21-01-2005, 12:28
String e' un oggetto e gli oggetti si comparano con equals

ciao.

prova quindi con



if (testo.equals("")) {
...
}

Gil Mour
21-01-2005, 12:31
Se tu non digiti niente nel tuo campo, il valore di ritorno di getText() non null ma la stringa vuota ""

per cui devi solo modificare la tua if in
if(testo=="")
e tutto dovrebbe funzionare correttamente

:ciauz:

kateetak
21-01-2005, 13:58
Per fare chiarezza...

Il risultato di un getText() nel caso non sia stato inserito del testo "" (stringa vuota).
L'uguaglianza tra due stringhe si fa con il metodo equals in questo modo:
s1.equals(s2);
Se s1 null viene lanciata una NullPointerException, se s2 null il risultato false.

Per controllare che una stringa sia o non sia uguale a null si usa == (uguale) o != (diverso).

:ciauz:

Loading