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.
Hoffe ihr könnt mir helfen, ich nämlich mir nicht mehr ;-)
Gruß,
Crashkurs
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:
public void setzeItemListener(ItemListener il)
{
c1.addItemListener(il);
c2.addItemListener(il);
c3.addItemListener(il);
c4.addItemListener(il);
c5.addItemListener(il);
}
Code:
public void itemStateChanged(ItemEvent ie)
{
if(anzahlKlicks != 3)
{
kc.halten();
}
}
Code:
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:
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