RadioButton isSelected

B

Banda

Gast
Huhu,

ich habe ein Fenster mit mehreren Textfeldern, JButtons und ein RadioButton.
Jedoch funktioniert bei mir die Funktion isselected vom Radiobutton nicht bzw. habe ich ein Gedankenfehler.
Ich kann im Fenster den Button auswählen/abwählen und wenn ich den Button "einfügen" klicke, soll er den Wert der Radiobuttons nehmen und übergeben, aber übergibt immer False.

Buttoninitalisierung:
Java:
		JRadioButton rdbtnMnnlich = new JRadioButton("mŠnnlich");
		rdbtnMnnlich.setBounds(500, 450, 100, 20);
		panel_mitte2.add(rdbtnMnnlich);

Methode die die gewählten Radiobuttons unter anderem übergeben soll:

Java:
		bEinfuegen2.addActionListener(new einfuegenDatenbank(txtName_2,
				txtVorname_2, rdbtnMnnlich.isSelected(), rdbtnWeiblich
						.isSelected()));

die aufnehmende Klasse


Java:
class einfuegenDatenbank implements ActionListener {
	private JTextField name;
	private JTextField vorname;
	private boolean maennlichclicked;
	private boolean weiblichclicked;

	public einfuegenDatenbank(JTextField name, JTextField vorname,
			boolean btmaennlich, boolean btweiblich) {

		this.name = name;
		this.vorname = vorname;
		this.maennlichclicked = btmaennlich;
		this.weiblichclicked = btweiblich;
	}

	public void actionPerformed(ActionEvent e) {
		if (maennlichclicked == false && weiblichclicked == false) {
			System.out.println("Kein geschlecht gewählt");
		} else {
			sqlsuche.eingabe(sqlsuche.idsuche(), name.getText(),
					vorname.getText(), "m", 1);
		}
		// wichtig der fk_ak_id muß vorhanden sein, sonst wirft die methode eine
		// exception
	}
}


Momentan bekomme ich halt immer die Ausgabe das kein geschlecht gewählt ist, wiel die übergebenden Button´s immer false sind.


Danke für die Bemühung im vorraus.

mfg

Banda
 
C

Camino

Gast
Ich würde mal sagen, dass du beim Erstellen deines ActionListeners dem Konstruktor die Zustände deiner RadioButtons übergibst, welche zu Beginn false sind. Dann sind diese Zustände im ActionListener so drin und werden später beim Auslösen des ActionListeners (actionPerformed) nicht mehr abgefragt bzw. geändert. D.h. du musst die Zustände deiner RadioButtons in der Methode actionPerformed deines ActionListeners abfragen.
 
C

Camino

Gast
Eine Möglichkeit wäre: anstattt den Zuständen der RadioButtons (boolean) könntest du die RadioButtons selbst dem Konstruktor deines ActionListeners als Referenz übergeben. Dann hast du in der Methode actionPerformed Zugriff darauf und kannst auch dort die Zustände abfragen.
 
B

Banda

Gast
Super es funktioniert !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Danke 2h arbeit sind gerettet!!!!!!!!!!
 

Oben