getSelection bei Radio Buttons, Anzeige rechts im SplitPane

Katinki

Grünschnabel
Hallo,

ich habe ein JSplitPane bei dem auf der linken Seite 6 RadioButtons und 2 Buttons sind. Ich möchte nun, dass wenn ich auf absenden klicke:

1. geprüft wird, welcher radioButton markiert ist und
2. auf der rechten Seite ein neues Fenster aufgeht, indem ich etwas anzeigen lassen kann.

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

public class ReportAbfragen extends JFrame implements ActionListener{
	// Globale Variable für Auswahl:
	//String globi = new String();
//	Split Fenster erzeugen mit Hilfe der erzeugten Panels

//	Button Group erzeugen
	  ButtonGroup gruppe = new ButtonGroup ();
	  
		  JPanel  dieLinkeSeite = new JPanel();
		  JPanel  dieRechteSeite = new JPanel();
			JFrame rFenster = new JFrame("");
			
//	Radio-Buttons erzeugen mit Namen
		  JRadioButton report1 = new JRadioButton ("Alle Prüfungen aller Studenten");
		  JRadioButton report2 = new JRadioButton ("Alle Prüfungen aller Module");
		  JRadioButton report3 = new JRadioButton ("Alle Prüfungen eines Studenten");
		  JRadioButton report4 = new JRadioButton ("Alle Prüfungen eines Moduls");
		  JRadioButton report5 = new JRadioButton ("Alle Prüfungen eines Studiengangs");
		  JRadioButton report6 = new JRadioButton ("Alle Prüfungen eines Studenten eines Moduls");
	
	
		  JButton abbrechen = new JButton ("cancel");
		  JButton absenden = new JButton ("absenden");
	
	
	public static void main(String[]args)
	{
		ReportAbfragen auswahl = new ReportAbfragen("Report abfragen");
		
		auswahl.pack();
		auswahl.setSize(900,900);
		auswahl.show();
	}
	
	
	//der Konstruktor
	ReportAbfragen(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(350);
	
		
	
		
	
		//Buttons in Gruppe aufnehmen
		gruppe.add(report1); 
		gruppe.add(report2); 
		gruppe.add(report3); 
		gruppe.add(report4); 
		gruppe.add(report5); 
		gruppe.add(report6);
	
		//Tooltips setzen
		report1.setToolTipText("Alle Prüfungen aller Studenten");
		report2.setToolTipText("Alle Prüfungen aller Module");
		report3.setToolTipText("Alle Prüfungen eines Studenten");
		report4.setToolTipText("Alle Prüfungen eines Moduls");
		report5.setToolTipText("Alle Prüfungen eines Studiengangs");
		report3.setToolTipText("Alle Prüfungen eines Studenten eines Moduls");
			
		//zuordnen der Komponenten einer Seite
		dieLinkeSeite.add(report1);
		dieLinkeSeite.add(report2);
		dieLinkeSeite.add(report3);
		dieLinkeSeite.add(report4);
		dieLinkeSeite.add(report5);
		dieLinkeSeite.add(report6);
			
		dieLinkeSeite.add(absenden);
		dieLinkeSeite.add(abbrechen);
		abbrechen.addActionListener(this);
		absenden.addActionListener(this);
	
		dieRechteSeite.add(new JLabel("Report kommt noch"));
		//dieRechteSeite.add(rFenster);
		
		//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 Buttons und Menuebefehle
	public void actionPerformed(ActionEvent e)
	{	
		ButtonModel aktuell = null;
		String quelle = e.getActionCommand();
		if(quelle.equals("Programm beenden") || quelle.equals("cancel"))
		{
			System.exit(0);
		}
		{
		if (quelle.equals("absenden"))
				{
					aktuell = gruppe.getSelection();
					if (aktuell == null)
					return;
						{
							if (aktuell == report1)
							rFenster.setVisible(true);
						}
							{
								if (aktuell == report2)
								rFenster.setVisible(true);
							}
								{
									if (aktuell == report3)
									rFenster.setVisible(true);
								}
									{
										if (aktuell == report4)
										rFenster.setVisible(true);
									}
										{
											if (aktuell == report5)
											rFenster.setVisible(true);
										}
												{
													if (aktuell == report6)
													rFenster.setVisible(true);
												}	
						
				}
		
		
	}	
}
}

Gruß Kathie
 
Hi,

ich möchte wissen, wie ich eine Methode schreiben kann, die prüft welcher RadioButton markiert ist und dann je nachdem welcher markiert ist, auf der rechten Seite meines SplitPanes etwas anzeigt.

Gruß Kathie
 
Zum Beispiel so:

Code:
  public static final int RADIOBUTTON_1 = 1;
  public static final int RADIOBUTTON_2 = 2;
  public static final int RADIOBUTTON_3 = 3;
  public static final int RADIOBUTTON_4 = 4;
  public static final int RADIOBUTTON_5 = 5;
  public static final int RADIOBUTTON_6 = 6;
  
  private int getSelectedRadioButton()
  {
    if ( report1.isSelected() )
      return RADIOBUTTON_1;
    if ( report2.isSelected() )
      return RADIOBUTTON_2;
    if ( report3.isSelected() )
      return RADIOBUTTON_3;
    if ( report4.isSelected() )
      return RADIOBUTTON_4;
    if ( report5.isSelected() )
      return RADIOBUTTON_5;
    if ( report6.isSelected() )
      return RADIOBUTTON_6;
    
    return 9999;
  }

// in der actionPerformed:
      if ( quelle.equals( "absenden" ) )
      {
        int iSelectedRadioButton = getSelectedRadioButton();
        switch ( iSelectedRadioButton )
        {
          case RADIOBUTTON_1:
            // tu was
            break;
          case RADIOBUTTON_2:
            // tu was
            break;
          case RADIOBUTTON_3:
            // tu was
            break;
          case RADIOBUTTON_4:
            // tu was
            break;
          case RADIOBUTTON_5:
            // tu was
            break;
          case RADIOBUTTON_6:
            // tu was
            break;

          default: System.out.println("Idiotenprogrammierer ;)");
            break;
        }
 
Zurück