if-Befehl mit Buttongroup

  • Themenstarter Themenstarter Hallo123
  • Beginndatum Beginndatum
H

Hallo123

Gast
Mal wieder ich mit einer absolute Noobfrage,
ich will Daten, die ich in tf Felder eingegeben habe abspeichern. Jedoch habe ich 2 verschiedene Fachklassen in die eingespeichert werden soll. Jetzt dachte ich mir das so, dass ich eine Buttongroup mache, in der ich die beiden zur Auswahl habe und dann eine if Abfrage starte. Also if erster Button ist geklickt, dann speichert er das als neuer Mitarbeiter, ist 2ter Button geklickt als neuer freier Arbeitnehmer ab. Geht das und wenn ja, wie ist der if-Befehl, also if(??).
 
isSelected. Aber ich denke, du verwechselst da etwas, du suchst wahrscheinlich den RadioButton. ButtonGroups verbinden mehrere Buttons miteinander, damit eine Änderung bei einem eine Reaktion bei einem anderen hervorruft.

Ich weiß aber nicht, ob die Verarbeitung in 2 verschiedenen Klassen nicht schöner wäre. Dazu beide ein Interface implementieren lassen, die Methode, über die die Parameter übertragen werden anlegen, und im ItemListener der Buttons jeweils eine Instanz der beiden Klassen hineinschreiben. Die Weiterverarbeitung erfolgt dann per Methodenaufruf.
 
ja, aber es kann ja nur in eins von beidem eingespeichert werden, wenn ich also nicht will, dass beide gleichzeitig angewählt werden können, muss ich die beiden wohl in eine buttongroup reinziehen oder?
 
Wenn ich die Beiden jetzt allerdings als Buttongroup nehme, dann hab ich auch nur die Buttongroup definiert oder? Ich nutze btw den Window Builder und die RadioButtons sind nicht iwie als private Radiobutton1 definiert, d.h. ich kann mit ihnen auch nichts ausführen? Wie würde der Befehl jetzt aussehen, nachdem ich im ersten Post gefragt habe?
 
Machs doch einfach anonym: (Hirn -> Tasten)

Java:
JButtonGroup group = new JButtonGroup();

final JRadioButton button1 = new JRadioButton("Text A");
add(button1);
group.addButton(button1);

final JRadioButton button2 = new JRadioButton("Text B");
add(button2);
group.addButton(button2);

final JTextField tf = new JTextField("Text C");
add(tf);

JButton button = new JButton("Text D");
button.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent arg0)
	{
		String text = tf.getText();

		if(button1.isSelected())
		{
			//Mach das eine.
		}
		else if(button2.isSelected())
		{
			//Mach das andere.
		}
	}
});
add(button);
 
Danke dafür, so habe ich es auch probiert und es will nicht funktionieren. Muss ich die Radiobuttons nicht definieren? Wenn ich das nämlich tue, steht dort button1 is never read locally, obwohl dieser button ja ganz sicher existiert...
 
Wird ja gemacht:

Java:
final JRadioButton button1

Definition vom feinsten. :smoke:

"is never read locally" heißt nicht, dass er nicht existiert, sondern dass die Variable nie gelesen wird.
 
Danke, habs nun hinbekommen, ich bin echt nicht dafür geboren, naja in 4 Tagen ists nachm mündlichen auch vorbei damit😉
 

Zurück
Oben