Padrão MVC - Dúvida no controller

Boa noite amigos, estou desenvolvendo um trabalho para a universidade e estive enfrentando um problema nos últimos dias quanto a atualizar a view pelo controller. Eu tenho um método que inicializa um panel para cada jogador, mas para isso preciso saber o número de jogadores que irão participar. O problema está em passar o valor de um frame para o outro, através do controller. O valor sempre passa da view para o controller como igual a 0, já tentei de tudo.

private StradaController stradaController;

Classe principal:
/*

	 * Create the frame.
	 */
	public Principal() { 
		super("Strada Romana");
	    stradaController = StradaController.getInstance(); 
		stradaController.addObserver(this);   
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    setSize(1500,800);
	    setLocationRelativeTo(null);
	    setLayout(new FlowLayout());  
	    setVisible(true);    
	    
	    initComponents();
	}
	
	private void initComponents(){    
		 stradaController.initializePlayerPanel();
	} 

Trecho da tela que seleciona os jogadores:

*public SelectionFrame() {*
  • 	setTitle("Strada Romana");*
    
  • 	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);*
    
  • 	setBounds(100, 100, 500, 300);*
    
  • 	setLocationRelativeTo(null);*
    
  • 	setResizable(false);*
    
  • 	setVisible(true);*
    
  • 	stradaController = new StradaController(); *
    
  • 	initComponents();*
    
  • }*
    
  • public void actionPerformed(ActionEvent arg0) {*

  • 			if(playerValidation()) {   *
    
  • 				stradaController.setPlayers(players);*
    
  • 				setVisible(false);*
    
  • 				new Principal();*
    
  • 			}*
    

Os valores são passados através de uma checagem simples:

*if(players == 2) {*
  • 					 *
    
  • 						players = 2;*
    
  • 				} else if (players == 3) {*
    
  • 						 *
    
  • 						players = 3;*
    
  • 				} else if(players == 4) { *
    
  • 					 *
    
  • 						players = 4;*
    
  • 				} else {*
    
  • 						 *
    
  • 						players = 5;*
    
  • 			}*
    

Controller:
> @Override
*> public void setPlayers(int players) { *
> this.numberPlayers = players;
> }

Edita seu post e formata o código Java direito, utilizando o botão </>.

Inviável ler dessa forma.