Hallo,
ich habe ein Programm geschrieben, das wie folgt aussieht:

Nun funktioniert fast alles ganz gut, bis auf eine Sache, die Methode welche fuer das setzen der Layouts fuer die 5 Buttons in einem inneren Panel zustaendig ist, setzt nicht die Layouts in der if-Abfrage nachdem Radiobuttons aktiviert werden, obwohl es ueberprueft und in der Konsole zur Bestaetigung ausgegeben wird, dass der Listener die Befehle der Radiobuttons an die Methode ueber Klassenvariablen weiterleitet.
Wenn Radiobuttons gewaehlt werden, so werden die Werte der zustaendigen Klassenvariablen auf true gesetzt:
	
	
	
	
	
		
	
Hier die Methode:
	
	
	
	
	
		
	
Der Listener sieht so aus:
	
	
	
	
	
		
	
Hat jemand Ahnung warum die Layouts sich nicht setzen lassen, obwohl sie es normalerweise mussten?:bahnhof: Wenn ich selber die Klassenvariablen auf true setze, dann springt das gewuenschte Layout an, aber warum will es so nicht??:bahnhof:
			
			ich habe ein Programm geschrieben, das wie folgt aussieht:

Nun funktioniert fast alles ganz gut, bis auf eine Sache, die Methode welche fuer das setzen der Layouts fuer die 5 Buttons in einem inneren Panel zustaendig ist, setzt nicht die Layouts in der if-Abfrage nachdem Radiobuttons aktiviert werden, obwohl es ueberprueft und in der Konsole zur Bestaetigung ausgegeben wird, dass der Listener die Befehle der Radiobuttons an die Methode ueber Klassenvariablen weiterleitet.
Wenn Radiobuttons gewaehlt werden, so werden die Werte der zustaendigen Klassenvariablen auf true gesetzt:
		Java:
	
	//speichern den Wert der Radiobuttons
	private boolean a;
	private boolean b;
	private boolean c;
	private boolean d;Hier die Methode:
		Java:
	
	 //Die Methode fuer das innere Panel
	public JPanel panelInnen(){
		
		JPanel JPanelInnen= new JPanel();
				
		if(a==true){
			System.out.println("Ausgabe aus panelInnen(): "+a);	
			JPanelInnen.setLayout(new GridLayout(0,4)); 
			System.out.println("Panel Layout 1 gesetzt");}
		
		if(b==true){
			System.out.println("Ausgabe aus panelInnen(): "+b);
			JPanelInnen.setLayout(new GridLayout(0,3)); 
			System.out.println("Panel Layout 2 gesetzt");}
		
		if(c==true){
			System.out.println("Ausgabe aus panelInnen(): "+c);
			JPanelInnen.setLayout(new GridLayout(0,2)); 
			System.out.println("Panel Layout 3 gesetzt");}
		
		if(d==true){
			System.out.println("Ausgabe aus panelInnen(): "+d);	
			JPanelInnen.setLayout(new GridLayout(0,1)); 
			System.out.println("Panel Layout 4 gesetzt");}
		
		
		button1 = new JButton(" Schaltflaeche 1 ");
		button2 = new JButton(" Schaltflaeche 2 ");
		button3 = new JButton(" Schaltflaeche 3 ");
		button4 = new JButton(" Schaltflaeche 4 ");
		button5 = new JButton(" Schaltflaeche 5 ");
		
		
		JPanelInnen.add(button1);
		JPanelInnen.add(button2);
		JPanelInnen.add(button3);
		JPanelInnen.add(button4);
		JPanelInnen.add(button5);
		JPanelInnen.setBorder(new TitledBorder("Layoutpanel"));
		
		return JPanelInnen;
	}Der Listener sieht so aus:
		Java:
	
	//Innere Klassse
	class InnereKlasse implements ActionListener{
		
		@Override
		public void actionPerformed(ActionEvent e) {
			
			//wenn E x i t geklickt, beenden
			if (e.getActionCommand().equals("E x i t")) {
					System.exit(0);	}
			
			//wenn Layout 1 geklickt, a den Wert true zuweisen und Methode panelInnen aufrufen
			//damit in der if-Abfrage das richtige Layout gesetzt wird
		    if (e.getActionCommand().equals("Layout 1")){
					a=true;
					panelInnen();
	                
			System.out.println("a "+a);}//druckt Wert von a aus
			else a=false;//wenn nicht zutreffend Wert a auf false setzen
			
			if (e.getActionCommand().equals("Layout 2")){
					b=true; 
					panelInnen();
					
			System.out.println("b "+b);}
			else b=false;
			
			
			if (e.getActionCommand().equals("Layout 3")){
					c=true;
					panelInnen();
			System.out.println("c "+c);}
			else c=false;
			
			
			if (e.getActionCommand().equals("Layout 4")){
					d=true;
					panelInnen();
			
			System.out.println("d "+d);}
			else d=false;
		}
			
	}Hat jemand Ahnung warum die Layouts sich nicht setzen lassen, obwohl sie es normalerweise mussten?:bahnhof: Wenn ich selber die Klassenvariablen auf true setze, dann springt das gewuenschte Layout an, aber warum will es so nicht??:bahnhof:
 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		