JRadioButtons ohne Mehrfachmarkierung

Katinki

Grünschnabel
Hallo,

ich möchte in einem JSplitPane auf der linken Seite 5 RadioButtons haben, wovon nur einer markiert sein darf.

In meinem Programm ist es jedoch immer möglich alle Buttons zu markieren, obwohl ich die RadioButtons einer Gruppe zugeordnet habe.

Vielleicht kann mir ja jemand weiterhelfen.

Viele Grüße und Danke
Katinki

Source- Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ReportAbfragen2 extends JFrame implements ActionListener{

public static void main(String[]args){
ReportAbfragen auswahl = new ReportAbfragen("Report abfragen");

auswahl.pack();
auswahl.setSize(800,600);
auswahl.show();
}
//der Konstruktor
ReportAbfragen2(String titel)
{
super(titel);

//den Native Look and Feel erzwingen
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception ex)
{
System.err.println("Fehler bei LookandFeel\n");
}

//Panel erzeugen
JPanel pane = new JPanel();

pane.setLayout(new GridLayout());
setContentPane(pane);

//Split Fenster erzeugen mit Hilfe der erzeugten Panels
JPanel dieLinkeSeite = new JPanel();
JPanel dieRechteSeite = new JPanel();

JSplitPane Fenster = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true,
dieLinkeSeite, dieRechteSeite);
getContentPane().add(Fenster);

Fenster.setOneTouchExpandable(true);
Fenster.setDividerLocation(250);

// Button Group erzeugen
ButtonGroup gruppe = new ButtonGroup ();

//Radio-Buttons erzeugen mit Namen
JRadioButton report1 = new JRadioButton ("Alle Prüfungen aller Studenten", false);
JRadioButton report2 = new JRadioButton ("Alle Prüfungen aller Module", false);
JRadioButton report3 = new JRadioButton ("Alle Prüfungen eines Studenten", false);
JRadioButton report4 = new JRadioButton ("Alle Prüfungen eines Moduls", false);
JRadioButton report5 = new JRadioButton ("Alle Prüfungen eines Studiengangs", false);

//Befehlsname für Optionsfeld
report1.setActionCommand ("Alle Prüfungen aller Studenten");
report2.setActionCommand ("Alle Prüfungen aller Module");
report3.setActionCommand ("Alle Prüfungen eines Studenten");
report4.setActionCommand ("Alle Prüfungen eines Moduls");
report5.setActionCommand ("Alle Prüfungen eines Studiengangs");


//Buttons in Gruppe aufnehmen
gruppe.add(report1);
gruppe.add(report2);
gruppe.add(report3);
gruppe.add(report4);
gruppe.add(report5);

//Optionsfelder in Panel aufnehmen
getContentPane().add(report1);
getContentPane().add(report2);
getContentPane().add(report3);
getContentPane().add(report4);
getContentPane().add(report5);

//zuordnen der Komponenten einer Seite
dieLinkeSeite.add(report1);
dieLinkeSeite.add(report2);
dieLinkeSeite.add(report3);
dieLinkeSeite.add(report4);
dieLinkeSeite.add(report5);

dieLinkeSeite.add(new JButton ("absenden"));
dieLinkeSeite.add(new JButton ("cancel"));

dieRechteSeite.add(new JLabel("Report kommt noch"));

//Menueleiste erstellen
JMenuBar menue_leiste = new JMenuBar();
JMenu menu1 = new JMenu("Programm");
JMenuItem prog_item1 = new JMenuItem ("Programm beenden");
prog_item1.addActionListener(this);
menu1.add(prog_item1);

menue_leiste.add(menu1);
setJMenuBar(menue_leiste);

//Fenster schließen
class CFensterLauscher extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
addWindowListener(new CFensterLauscher());


}
//Behandlung der Menuebefehle
public void actionPerformed(ActionEvent e)
{


String quelle = e.getActionCommand();
if(quelle.equals("Programm beenden"));
{
System.exit(0);
}
}
}
 
Hallo,

du hast eigentlich alles richtig gemacht, nur etwas ist zu viel.

Entferne diesen Codeteil und es läuft
Code:
     //	Optionsfelder in Panel aufnehmen
     	getContentPane().add(report1);
     	getContentPane().add(report2);
     	getContentPane().add(report3);
     	getContentPane().add(report4);
     	getContentPane().add(report5);
Du fügst die RadioButtons 2 mal ein.
Auf "dieLinkeSeite" ist die richtige Stelle.

PS: Code-Beispiele sollten zur besseren Lesbarkeit in den Code-Tag ("#" über der Texteingabe) geschrieben werden. (!)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück