Wenn JFrame Textfelder Hintergrund Grün dann... (if)

terades

Mitglied
Hallo zusammen ich habe ein JFrame wo8 Textfelder sind (Namen: tf1-tf8)

In diese Felder werden von einem Barcodescanner Codes eingelesen und mit bestimmten Werten vergleichen. Wenn der Textfeld inhalt = dem des Sollwertes ist ändere ich den Hintergrund in Grün.

Beispiel:

Java:
if(tf1.getText().equals("xxx")) {
   tf1.setBackground(Color.GREEN);
}
....

Also möchte ich eine Abfrage machen die TRUE ist wenn alle 8 tf die Hintergrundfarbe grün haben.

Meine idee ist:

Java:
if (tf1.getBackground() =GREEN {
   System.out.print("Works");
}

So in der Art dachte ich klappt es 🙁 Aber komme nicht umbedingt weiter 🙁 Für jede hilfe dankbar!
 
Moin,
wenn schon, dann wenigstens syntaktisch richtig (Vergleich statt Zuweisung, Klammerung !!)
Code:
if( tf1.getBackground() == Color.GREEN )
{
  // what ever
}
Aber komme nicht umbedingt weiter
das heißt was??

Du könntest Du Dir bei jedem Setzen auf GRÜN dies merken (bspw. in einem Bitfeld) und den Merker dann am Ende auswerten!

BTW: "tf1" bis "tf8" sind denkbar ungünstige Bezeichner !!

VG Klaus
 
Vielen Dank VfLer,

Denke so bekomme ich es hin werde mal schauen denke ich Zähle mir ne Variable hoch bei jedem Textfeld oder verbinde alle 8 Textfelder mit dem && in der If-Abfrage sollte ja auch klappen dann.

Und die Bezeichner werde ich mal überarbeiten, sonst kann ich da bald nix mehr mit anfangen.

Grüße aus Osnabrück 😀
 
Moin,
denke ich Zähle mir ne Variable hoch bei jedem Textfeld oder verbinde alle 8 Textfelder mit dem &&
Alle Textfelder mit '&&' zu verbinden halte ich für keine gute Idee! Was ist, wenn es morgen plötzlich16 Felder sind ??
Wenn es Dir reicht, nur zu wissen ob alle acht Felder grün sind, geht das natürlich auch!
Falls Du wissen musst, welche Felder grün sind und welche nicht, dann nimm' besser ein Bitfeld
Mal im Pseudocode:
Java:
byte meinBitFeld = 0x0;
byte tf1 = 0x1
byte tf2 = 0x2
byte tf3 = 0x4
byte tf4 = 0x8 usw. (2er Potenz!)

// Prüfung:
if( meinBitFeld & 0x4) == 4 )
{
    // mach was
}

die Bezeichner werde ich mal überarbeiten, sonst kann ich da bald nix mehr mit anfangen
Einsicht ist der erste Weg zur Besserung 😛😎

VG Klaus
 

Zurück
Oben