Problemas com JPanel

Bom dia pessoal,
Estou com um problema aqui que não estou conseguindo resolver nem fo*****.

Bom basicamente o meu problema é que eu estou criando JPanel dinamicamente, porem quando eu adiciono tudo em um painel principal ele só esta adicionando o ultimo painel que eu montei.

				for(ContratoFinanceiro contratoFinanceiro: listContratoFinanceiro){
					
					JPanel painelContratoFinanceiro = new JPanel();
					painelContratoFinanceiro.setLayout(new BoxLayout(painelContratoFinanceiro, BoxLayout.PAGE_AXIS));
					painelContratoFinanceiro.setBackground(corPaleGreen);
					painelContratoFinanceiro.setBorder(bordaVermelho);
					
					String situacaoContrato="";
					
					for(SituacaoContrato stContrato: listSituacaoContrato){
						if(stContrato.getIdSituacaoContrato().equals(contratoFinanceiro.getStContratoFinanceiro()))
							situacaoContrato = stContrato.getDsSituacaoContrato();
					}
			
					JLabel txtTeste = new JLabel("1º Contrato Principal");
					JLabel txtQtdParcelasAbertas = new JLabel();
					
					txtStContratoFinanceiro.setText("St. Contrato: "+situacaoContrato);
					ArrayList<ContratoReferencia> listContratoReferencia = contratoFinanceiro.getContratoReferencia();
					txtQtdParcelasAbertas.setText("Qtd. de Parcelas Abertas: "+listContratoReferencia.size());
			

					
					painelContratoFinanceiro.add(Box.createRigidArea(new Dimension(10,0)));
					painelContratoFinanceiro.add(txtTeste);
					painelContratoFinanceiro.add(Box.createRigidArea(new Dimension(10,0)));
					painelContratoFinanceiro.add(txtStContratoFinanceiro);
					painelContratoFinanceiro.add(Box.createRigidArea(new Dimension(10,0)));
					painelContratoFinanceiro.add(txtQtdParcelasAbertas);
					
					if(qtdContratoFinanceiro==1){
						painelContratoFinanceiro.setBounds(10, 30, 200, 50);
					}else{
						painelContratoFinanceiro.setBounds(230*qtdContratoFinanceiro, 30, 200, 50);
					}
					
					painelIngressos.add(painelContratoFinanceiro);
				}

nao entendi…
e esse codigo tambem nao me explicou direito!