ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
245
245
EMPFEHLEN
-
Hey Leute,
habe ein kleines Problem, und zwar soll ich Kniffel im Netzwerk realisieren, wobei ich 5 Checkboxen habe, womit der Benutzer ankreuzen kann, welche Würfe er behalten will. Jedes Mal, wenn ein Benutzer eine Checkbox anclickt, möchte ich an den Server einen String senden, in dem die Nummer der Checkbox und der Status gespeichert ist. Nachdem das dritte Mal geworfen wurde, sollen diese Checkboxen deaktiviert werden, damit man keine weiteren Nachrichten durch anclicken von diesen an den Server sendet.
Nun zu meinem Problem: Nachdem diese Checkboxen deaktivert wurden, wird die Methode ItemStateChanged(ItemEvent ie) vom ItemListener dauerhaft aufgerufen, wobei jedes Mal ein oder mehrere Checkboxen vom Status(Selected/Deselected) her verändert wurden. Habe schon versucht, die Checkboxen vor dem Deaktivieren auf Deselected zu setzen. Dies klappt aber leider auch nicht.
Code :1 2 3 4 5 6 7 8
public void setzeItemListener(ItemListener il) { c1.addItemListener(il); c2.addItemListener(il); c3.addItemListener(il); c4.addItemListener(il); c5.addItemListener(il); }Code :1 2 3 4 5 6 7
public void itemStateChanged(ItemEvent ie) { if(anzahlKlicks != 3) { kc.halten(); } }Code :1 2 3 4 5 6 7 8 9 10
public void halten() { boolean[] halt = new boolean[5]; halt[0] = w.wb.c1.isSelected(); halt[1] = w.wb.c2.isSelected(); halt[2] = w.wb.c3.isSelected(); halt[3] = w.wb.c4.isSelected(); halt[4] = w.wb.c5.isSelected(); kc.send("Halten#"+halt[0]+"#"+halt[1]+"#"+halt[2]+"#"+halt[3]+"#"+halt[4]); }Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
anzahlKlicks++; if(anzahlKlicks==1) { wb.setzeCheckboxStatus(true); wb.würfeln(anzahlKlicks); kc.gewürfelt(); wb.anzahlWürfe.setText(" Wurf 1 von 3 "); d.esIstGewürfeltWorden(); Kniffelkarte k = kc.k; int nummer = kc.aktiverSpieler;//Aktiviere Eintrags-Buttons k.aktiverSpielerButtonsSetEnabled(nummer,true); } if(anzahlKlicks==2) { wb.würfeln(anzahlKlicks); kc.gewürfelt(); wb.anzahlWürfe.setText(" Wurf 2 von 3 "); } if(anzahlKlicks==3) { wb.würfeln(anzahlKlicks); kc.gewürfelt(); wb.setzeCheckboxStatus(false); wb.b2.setEnabled(false); wb.anzahlWürfe.setText(" keine Würfe mehr "); }
Hoffe ihr könnt mir helfen, ich nämlich mir nicht mehr
Gruß,
Crashkurs
-
22.09.11 12:38 #2
Hey,
bitte benutze für Java Code entspreche Java-Tags anstatt Code-Tags, das macht den Code leslicher...
Zu deinem Problem: Wenn du wirklich bei jedem Klick den String an den Server schicken möchtest, dann empfehle ich dir den ActionListener anstatt ItemListener zu benutzen.Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
Hey,
Ok, das mit den Java-Tags werde ich mir merken
Habe das Problem jetzt auch gefunden. Der Server leitet den String an alle Clienten weiter, welche die Checkboxen dann so einstellen, wodurch wieder ItemStateChanged aufgerufen wird und ein neuer String gesendet wird.
Danke für den Tipp mit dem ActionListener, dann baue ich den ein
Gruß
-
22.09.11 13:41 #4SE Tutorials.de Gastzugang
Tja ... bei so einem Protokoll-Fehler wird dir der ActionListener auch nicht helfen.
Was du jetzt machen musst ist ist im Server eine Prüfung einbauen die checkt ob es dieses "Halten"-Commando ist oder nicht ... und bei zutreffen halt nur verarbeiten , jedoch nicht broadcasten.
ps : makiere den Thread bitte als erledigt wenn dei Problem behoben ist.
Ähnliche Themen
-
JToggleButton ändert Aussehen nicht nach setEnabled(false)
Von mas666 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 11Letzter Beitrag: 22.06.10, 16:18 -
OnPaint wird dauerhaft aufgerufen
Von miamalzu im Forum VisualStudio & MFCAntworten: 2Letzter Beitrag: 02.06.10, 14:21 -
jsf: set-Methode wird nie aufgerufen
Von schaefli im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 19.03.07, 00:54 -
Kompletten JTable mittels setEnabled(false) ausgrauen?!
Von Ravebaby im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 18.01.07, 12:33 -
.exe datei wird aufgerufen!?
Von bruderherz im Forum HTML & XHTMLAntworten: 15Letzter Beitrag: 22.02.03, 13:37





Zitieren
Login





