Swing Werte einer Jcheckbox aus eine Klasse A in eine Klasse B aufrufen

spirit

Mitglied
Hallo,

Ich bin neu in Java und suche schon seit eine Woche wie ich den Zustand einer JCheckBox aus eine Klasse in eine andere aufrufen kann.
Ich versuche es mit eine set() und get() Methode, aber irgendwie wird den Zustand der JCheckBox nicht richtig übergeben in die zweite Klasse.

Ausschnitt aus der Klasse A
[Java]
public void set_cb1( Boolean cb1) {
this.cb1 = cb1;
}

public boolean get_cb1(java.awt.event.ActionEvent e, Boolean cb1){
cb1 = jCheckBox1.isSelected();
if(jCheckBox1.isSelected()){
cb1 = true;
System.out.println("Der checkBox ist ausgewaehlt.");
}
else {
cb1 = false;
System.out.println("Der checkBox ist nicht ausgewaehlt.");
}
return cb1;
}
[/Java]

Ausschnitt aus der Klasse B

[Java]
A a = new A();
System.out.println("JCheckBox ausgewaehlt? "+a.get_cb1(e, r.cb1));
[/Java]


Ich würde mich freuen wenn jemand mir erklären koennte was ich falsch gemacht habe, bzw. mir einen anderen Weg zeigt wie es möglich wäre mein Problem zu lösen.

Vielen Dank im voraus.
 
Ich verstehe zwar nicht, warum ein falscher Wert ankommen soll aber das ganze lässt sich viel übersichtlicher machen. Insbesondere die Parameter von get_cb1 werden in der Methode nicht verwendet und sind daher überflüssig.

Ausschnitt aus der Klasse A
[Java]
public void set_cb1( Boolean cb1) {
// this.cb1 = cb1; //verstehe ich nicht. Würde aber folgendes vorschlagen:
jCheckBox1.setSelected(cb1);
}

public boolean get_cb1(){
if(jCheckBox1.isSelected()){
System.out.println("Der checkBox ist ausgewaehlt.");
}
else {
System.out.println("Der checkBox ist nicht ausgewaehlt.");
}
return jCheckBox1.isSelected();
}
[/Java]

Ausschnitt aus der Klasse B

[Java]
A a = new A();
System.out.println("JCheckBox ausgewaehlt? "+a.get_cb1());
[/Java]
 
Vielen Dank für deine schnelle Antwort madboy. Ich habe deinen Vorschlag getestet, es ändert aber leider nichts. Ich bekomme auch in diesem Fall ein „false“ auch wenn ich der JCheckbox drücke.
 
wenn
> A a = new A();
> System.out.println("JCheckBox ausgewaehlt? "+a.get_cb1());

direkt hintereinandersteht, kann es nicht funktionieren, benötigt wird das A, das in die GUI eingebunden ist, nicht ein neues A
 
auf korrekte Weise, wo immer das A ursprünglich erzeugt und verwendet wird, muss es abgespeichert und abfragbar sein,
siehe madboy:
> In dem Fall wäre mehr Code gut.
 

Zurück
Oben