CaretListener: leere Textfelder = Button sperren

NobbyNobbs

Mitglied
Hallo ! :)

Ich habe eine GUI mit mehreren textfeldern und Buttons erstellt.
Solange einige ausgewählte Textfelder leer sind, sollen einige ausgewählte Buttons gesperrt bleiben.

Mit meinem caretListener funktioniert das bei 1 Textfeld und 1 Button problemlos. Aber ich schaffs einfach nicht die if Abfrage so zu erweitern, dass eben mehrere Textfelder überwacht werden.

Mit:

If (text1.isEmpty() && text2.isEmpty() && text3...)
Button1.setVisible(false)...
Else button1.setVisible(true)....

Funktioniert es nicht.

Verzeiht bitte die unübersichtliche Schreibweise des codes. Ich sitze nicht am PC.
Ich hoffe mein Anliegen ist trotzdem verständlich.

Mercí :)
 
S

SlaterB

Gast
ohne ein ausführbares Testprogramm ist die Aussage leer,
ich behaupt die Sonne ist grün, und nun?

zumal 'funktioniert nicht' alles mögliche bedeuten kann,
a) passiert nichts, was verschiedene Ursachen haben kann, Code wird gar nicht ausgeführt usw.
b) Fehlermeldungen diverser Art, etwa text1, text2 usw. gar nicht an dieser Stelle zugreifbar
 
T

TryToHelp

Gast
generell ifs wie folgt aufbauen (geschweifte Klammern), das kann schon der Grund sein, wenn du mehrere Anweisungszeilen hast

Java:
if (Bedingung){
   Anweisung1
   Anweisung2
   ...
}else{
   Anweisung 4
   Anweisung 5
}
 

NobbyNobbs

Mitglied
Danke für die schnellen Kommentare ! :)

Wie gesagt sitze ich nicht am PC und habe keinen Zugriff auf meinen Code. Heute Abend kann ich ihn nachreichen.

Es kommt keine Fehlermeldung und wenn ich die Textfelder ausfülle, bleibt der Button gesperrt.

Meiner Ansicht nach, mache ich einen Fehler in der if Bedingung. Ein einzelnes Textfeld kann ich mit

If (text1.isEmpty()){
Button.setVidibel(false)
}else{
Button.setVisibel(true)
}

sperren.
Sobald ich aber die Bedingung mit && erweitere bleibt der Button gesperrt nachdem ich die Textfelder ausgefüllt habe.

Vielleicht sollte ich meine frage anders stellen:
Wie kann ich einen Button sperren und erst freigeben wenn zb 5 Textfelder ausgefüllt sind ?

Mercí :)
 

RaideR

Mitglied
Ah jetzt verstehe ich...

Java:
If (text1.isEmpty() && text2.isEmpty() && text3...)
Button1.setVisible(false)...
Else button1.setVisible(true)....

Das hast du ja in deinem ersten Post geschrieben.
Du hast Recht - es liegt an der falschen Logik der If-Bedingung. Du überprüfst ja folgendes: Wenn ALLE Felder leer sind, dann soll der Button ausgeblendet werden. Wenn aber nun EINS der Felder einen Text enthält, dann blendet er den Button ein.
 

fastjack

Top Contributor
Trotzdem, setVisible() ist nicht ok, finde ich. Dann verschwindet der Button, nimmst Du setEnabled() wird er ausgegraut und ist nicht drückbar.
 
S

SlaterB

Gast
> Sobald ich aber die Bedingung mit && erweitere bleibt der Button gesperrt nachdem ich die Textfelder ausgefüllt habe.

gib an der fraglichen Stelle aus, was in den Textfeldern drinsteht, welchen Wert isEmpty() jeweils zurückliefert,
schreibe eine Ausgabe ins if und ins else um zu prüfen, was drankommt,

es gibt immer viel mehr Ursachen als falscher Code,
vielleicht werden Textfelder geprüft die nicht in der GUI stehen, vielleicht kommt der Code gar nicht dran,
vielleicht geht alles bestens und doch am Ende Anzeige falsch weil kurz danach noch anderer Code drankommt usw.
 

NobbyNobbs

Mitglied
In einem anderen Forum wurde meine Frage mit dem ersten Kommentar beantwortet.
Ich muss die Bedingung mit || (oder) und nicht mit && verknüpfen.
Danke für eure Bemühungen :)
 
S

SlaterB

Gast
interessant,
mal abgesehen von der Erwähnung anderer Foren, hoffentlich bleibst du dann da, kann man genaus hämisch antworten ;) Spass muss sein

nochmal deine Aussagen dazu angeschaut:
"Solange einige ausgewählte Textfelder leer sind, sollen einige ausgewählte Buttons gesperrt bleiben. "

beinhaltet leider nicht, ob die Sperrung bei einem oder allen ausgefüllten Textfeldern aufgehoben wird,
das könnte man freilich nachfragen


"Es kommt keine Fehlermeldung und wenn ich die Textfelder ausfülle, bleibt der Button gesperrt."
"Sobald ich aber die Bedingung mit && erweitere bleibt der Button gesperrt nachdem ich die Textfelder ausgefüllt habe."

das passt irgendwie gar nicht ins Konzept,
es ist wieder höchstens unklar wie viele du ausfüllst, 'die Textfelder' klingt nach allen, jedenfalls am wenigsten nach einem davon,
spätestens bei allen müsste sich doch was tun, selbst bei && statt ||,
außerdem nach dem Code eher andersrum, es wird eher zu früh freigegeben als gesperrt (visible true/false)

die Tendenz geht hier dazu, dass der Code gar nicht ausgeführt wird


"Vielleicht sollte ich meine frage anders stellen:
Wie kann ich einen Button sperren und erst freigeben wenn zb 5 Textfelder ausgefüllt sind ?"

klingt wiederum nach 'erst wenn alle Textfelder befüllt sind', also &&, nicht 'wenn eines der Textfelder befüllt ist', also ||

also ich bin selbst jetzt noch nicht wirklich schlauer ;)


dazu kommt natürlich, dass man immer umformen kann:
De Morgan?sche Gesetze ? Wikipedia

if (A leer && B leer && C leer ..)
ist gleichbedeutend zu
if (A nicht leer || B nicht leer || C nicht leer ..)


wie auch immer

-------

edit:

ah, jetzt habe ich es:
Java:
If (text1.isEmpty() && text2.isEmpty() && text3...)
Button1.setVisible(false)...
Else button1.setVisible(true)....
heißt:
sobald in einem Textfeld etwas drinsteht, wird Button1 angezeigt,
wenn aber alle leer sind, dann nicht anzeigen,

und du willst:
sobald in allen Textfeld etwas drinsteht, wird Button1 angezeigt,
wenn aber eines leer ist, dann nicht anzeigen,

dazu passen deine Aussagen dann doch, nicht erkannt
 
Zuletzt bearbeitet von einem Moderator:

NobbyNobbs

Mitglied
Naja. Die Tatsache, dass ich auch in anderen Foren Hilfe suche ist ja ausdrücklich gewollt und darf nicht gegen mich verwendet werden, nicht war ?

Punkt 1 aus "vor dem ersten Posten lesen" heißt
"Bevor du postest könntest du noch bei google anfragen."

Dadurch stößt man automatisch auf andere Foren oder Tutorials. ;)

Es tut mir leid, wenn ich meine Frage nicht allgemein verständlich stellen konnte. Ich hab ja versucht sie umzuformulieren. Vielleicht war es falsch von mir zu Glauben, dass sich meine Frage auf einen alltäglichen Codebaustein bezieht, den die User hier aus dem ff rezitieren können. Evtl hab ich auch zu weit ausgeholt und hätte einfach fragen sollen, wie ich es anstelle einen Button so lange zu sperren, bis 5 Textfelder ausgefüllt sind, ohne meine eigenen versuche zu Posten.

Ich werd mich bei meinem nächsten Problem sicher daran halten und meine Frage so komprimiert wie nur möglich stellen. Sollte dafür Code nötig sein, warte ich bis ich am Rechner sitzen kann und nutze nicht das mobile Internet.

Mercí :)
 
Zuletzt bearbeitet:
S

SlaterB

Gast
siehe auch meinen edit wenn zu spät, war durchaus schon gut gestellt, spätestens ab
'Wie kann ich einen Button sperren und erst freigeben wenn zb 5 Textfelder ausgefüllt sind ?'
lag es dann wirklich an anderen, auch an meiner Nase ;)


andere Foren sind durchaus gut,
ganz nach Vorschrift dann hier ruhig nebenher erwähnen, damit nicht doppelt gearbeitet wird,
aber das auch nur zur Ergänzung da wir gerade dabei sind
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C CaretListener Problem Java Basics - Anfänger-Themen 2
H Leere Zeilen in Textdatei löschen lassen Java Basics - Anfänger-Themen 5
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
L Java erstellt leere Datei Java Basics - Anfänger-Themen 8
R Zu viele leere Parameter Java Basics - Anfänger-Themen 8
J Datentypen CSV to DB Leere Zellen in CSV mit Inhalt? Java Basics - Anfänger-Themen 11
H Leere Eingabe in einem array Java Basics - Anfänger-Themen 11
MiMa Leere Datei ist nicht Leer ?? Java Basics - Anfänger-Themen 6
D Datenbankzugriff - Leere Zeile einfügen Java Basics - Anfänger-Themen 2
G Leere Zeile lesen Java Basics - Anfänger-Themen 12
A Leere Datei wird ohne Inhalt geschrieben, obwohl Inhalt geschrieben wurde. Java Basics - Anfänger-Themen 4
H Leere Anweisung Java Basics - Anfänger-Themen 24
T Sting -> Array, leere Stellen löschen Java Basics - Anfänger-Themen 6
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
X Erste Schritte Java JTable leere Reihen löschen Java Basics - Anfänger-Themen 2
E leere Ausgabe Java Basics - Anfänger-Themen 5
N leere JTextArea wird nicht angezeigt - TextArea aber schon? Java Basics - Anfänger-Themen 5
M File.ser auf leere checken Java Basics - Anfänger-Themen 17
N Fehlerquelle leere ArrayList elegant abfangen Java Basics - Anfänger-Themen 3
S Leere Datei erkennen Java Basics - Anfänger-Themen 5
P Leere Arraylist hat size von 1? Java Basics - Anfänger-Themen 3
B JList und JTable: leere Zeilen bei listfiles(); Java Basics - Anfänger-Themen 5
D Wie auf leere Benutzereingabe (int) prüfen? Java Basics - Anfänger-Themen 16
A Leere Fläche einer Tabelle umfärben Java Basics - Anfänger-Themen 3
N Scanner next() oder nextLine() zur prüfung auf leere Eingabe... Java Basics - Anfänger-Themen 6
B BufferedWriter - nur leere Datei erstellt Java Basics - Anfänger-Themen 4
G Leere Datei löschen? Java Basics - Anfänger-Themen 3
G leere columns "verstecken" Java Basics - Anfänger-Themen 5
G leere Ordner befinden sich nicht im Zip-Archiv Java Basics - Anfänger-Themen 8
K Leere Stelle im Array finden und ersetzen Java Basics - Anfänger-Themen 10
D String mit split teilen und leere Felder behalten Java Basics - Anfänger-Themen 4
G RegEx für leere IP Adresse? Java Basics - Anfänger-Themen 13
J POI: Leere Excel Zellen Java Basics - Anfänger-Themen 3
S In einer CSV Datei leere Zeilen ignorieren Java Basics - Anfänger-Themen 6
J Leere Textfields automatisch mit einem Wert ausfüllen Java Basics - Anfänger-Themen 3
S Leere Menge von integer Java Basics - Anfänger-Themen 3
R leere Zeichenkonstante? Java Basics - Anfänger-Themen 12
G Leere java.util.List erzeugen Java Basics - Anfänger-Themen 2
S gleichzeitiges Ansprechen vieler Textfelder Java Basics - Anfänger-Themen 2
T Wenn JFrame Textfelder Hintergrund Grün dann... (if) Java Basics - Anfänger-Themen 3
I Double.ParseDouble 2 Textfelder Java Basics - Anfänger-Themen 1
P Textfelder Java Basics - Anfänger-Themen 3
Jinnai4 Mehrere Textfelder überprüfen Java Basics - Anfänger-Themen 16
P Textfelder in Variablen speichern Java Basics - Anfänger-Themen 13
P JavaFX Textfelder geben immer null zurück Java Basics - Anfänger-Themen 8
N Problem bei Zugriff auf Textfelder Java Basics - Anfänger-Themen 6
A Ausgabe von Schleifenergebnissen in Textfelder Java Basics - Anfänger-Themen 9
U Dynmische Textfelder erstellen Java Basics - Anfänger-Themen 8
U Kreis um Textfelder zeichnen Java Basics - Anfänger-Themen 4
M Beim Start Methode laden die Textfelder füllt Java Basics - Anfänger-Themen 5
B 2 Textfelder Enter Taste Java Basics - Anfänger-Themen 3
S List angaben in textfelder Java Basics - Anfänger-Themen 7
M Feld übergeben & dann Werte in TextFelder schreiben Java Basics - Anfänger-Themen 4
N Frage zu Listener für Textfelder Java Basics - Anfänger-Themen 5
T Textfelder und ComboBoxen anderst anordnen? Java Basics - Anfänger-Themen 4
Antoras mit ActionListener/Methodenaufruf Textfelder zeichnen Java Basics - Anfänger-Themen 4
D Erstellte Textfelder in Applet mit Tab - Taste anspringen Java Basics - Anfänger-Themen 3
G Mehrere Textfelder zusammenfassen Java Basics - Anfänger-Themen 4
P Auf Textfelder einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 2
M Zugriff auf Textfelder über Referenzen? Java Basics - Anfänger-Themen 3
H Textfelder Java Basics - Anfänger-Themen 12
M Textfelder mit Schleife deklarieren? Java Basics - Anfänger-Themen 33
G Rahmen um 5 Textfelder Java Basics - Anfänger-Themen 4
G Anzahl Textfelder zur Laufzeit verändern. Java Basics - Anfänger-Themen 4
DeeDee0815 JRadioButton, actionPerformed und Textfelder Java Basics - Anfänger-Themen 2
P Anordnung Textfelder untereinander? Java Basics - Anfänger-Themen 16
E Textfelder vergrößern Java Basics - Anfänger-Themen 11
C Textfelder auslesen Java Basics - Anfänger-Themen 3
G Änderungen in TextFelder feststellen Java Basics - Anfänger-Themen 4
G textfelder lassen sich nicht anwählen Java Basics - Anfänger-Themen 10
J Hintergrundfarbe für Textfelder Java Basics - Anfänger-Themen 4
M TextFelder synchronisieren Java Basics - Anfänger-Themen 14
D Suche ActionListener und Formatierung für Textfelder Java Basics - Anfänger-Themen 4
M Textfelder aus Array verändern Java Basics - Anfänger-Themen 3
M Viele Textfelder auslesen Java Basics - Anfänger-Themen 3
J Zuviele Textfelder und Labels Java Basics - Anfänger-Themen 2
N "On-The-Fly"-Textfelder Java Basics - Anfänger-Themen 2
G "dynamisch" Textfelder erzeugen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben