Java widersetzt sich der Bedingung

Chad-Kroeger

Grünschnabel
Hallo!
Ich brauche schnell Hilfe.
Ich habe hier ein Programm, indem folgendes passier:

Der Inhalt des Textfeldes, in das ich schreibe soll eingelesen werden.
Um zu Prüfen ob ich etwas eingetragen habe steht folgendes da:

str[0]=tf[0].getText();

if(e.getSource()==bu&&str[0]!=""&&rb1.isSelected()) {Anweisungen}

rb1 ist ein Radiobutton, bu ein normaler JButton und tf[0] ein Textfeld aus einem Array.

Das Problem ist, dass die Anweisungen immer ausgeführt werden, unabhängig davon, ob ich in das Textfeld etwas eingetragen habe.

Könnt ihr mir da helfen?

Vielen Dank!
 
Hi
bei

Code:
leer_oder_nicht(){
String s = null;
if(s == "") return true;
return false;
}

bekommst du immer false zurück^^
Ich weiss jetzt nicht was die TextBox zurückgibt, wenn nichts drin steht aber versuch mal

Code:
if((str[0] = tf[0].gettext()) !=null){
if( e.source && rb1. selected){
Anweisung
}
}
 
Zuletzt bearbeitet:
Hi.

Strings sind in Java Referenztypen. D.h. wenn man sie einfach mit dem == Operator vergleicht, vergleicht man ob die Referenzen gleich sind - nicht ob der Text der beiden Strings gleich ist.

Versuch's mal so:
Java:
if (!s[0].isEmpty()) {
  ...
}
Oder:
Java:
if (!s[0].equals("")) {
  ...
}

Gruß
 
Zurück