Dificuldade em usar o grouplayout

Estou tentando fazer um formulário com dois labels e um textfiel, mas não consigo colocar o label2 embaixo do label1. Estou colocando abaixo, o trecho do código onde eu tentei isso, mas o label2 está ficando ao lado do textfield. Por favor, me mostrem onde eu estou errando.
JPanel painel=new JPanel();
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(painel);
painel.setLayout(layout);
layout.setHorizontalGroup(
layout.createSequentialGroup() .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING))
.addGroup(layout.createSequentialGroup())
.addComponent(jLabel1)
.addComponent(jTFNome)
.addComponent(jLabel2)
);
layout.setVerticalGroup(
layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addGroup(layout.createSequentialGroup())
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING))
.addComponent(jLabel1)
.addComponent(jTFNome)
.addComponent(jLabel2)

      );

Deixando o código mais legível…

JPanel painel=new JPanel();
	javax.swing.GroupLayout layout = new javax.swing.GroupLayout(painel);
	painel.setLayout(layout);
	
	layout.setHorizontalGroup(
		layout.createSequentialGroup()
		.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING))
		.addGroup(layout.createSequentialGroup())
		.addComponent(jLabel1)
		.addComponent(jTFNome)
		.addComponent(jLabel2)
	);
	
	layout.setVerticalGroup(
		layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
		.addGroup(layout.createSequentialGroup())
		.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING))
		.addComponent(jLabel1)
		.addComponent(jTFNome)
		.addComponent(jLabel2)

	);

Obs.: layout.createSequentialGroup()

Com o arranjo seqüencial, os componentes são simplesmente colocados um após o outro, como BoxLayout ou FlowLayout faria ao longo de um eixo. A posição de cada componente é definida como sendo relativa ao componente anterior.

Sugestão de estudo: Java Tutorials.

Um exemplo (simples) = é código à rodo, mas está comentado.

package gerenciadoresDeLayout.grouplayout.funcional;

import java.awt.Font;
import java.awt.Color;
import java.awt.Insets;
import java.awt.Dimension;
import java.util.Date;
import java.util.Calendar;
import java.text.ParseException;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JSpinner;
import javax.swing.ImageIcon;
import javax.swing.UIManager;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.GroupLayout;
import javax.swing.JRadioButton;
import javax.swing.SwingConstants;
import javax.swing.SpinnerNumberModel;
import javax.swing.JFormattedTextField;
import javax.swing.text.MaskFormatter;
import javax.swing.text.DefaultFormatterFactory;

import gerenciadoresDeLayout.grouplayout.util.Tipografia;

public class ProjetoFlorestal extends JFrame{
	public ProjetoFlorestal(){
		setTitle("Teste - GroupLayout");
		setIconImage(new ImageIcon(getClass().getResource("/img/favicon.png")).getImage());
		
		definirMascara();
		criarLayout();
		carregarResponsaveTecnico();
		carregarUnidadeFlorestal();
		carregarEspecie();
	}
	
	private void criarLayout(){
		ImageIcon iconeLogo = new ImageIcon(getClass().getResource("/img/grouplayout/logo.png"));
		
		/*
			PAINEL TOPO
		*/
		painelTopo = new JPanel();
		painelTopo.setBackground(new Color(0, 102, 0));
		
		GroupLayout layoutTopo = new GroupLayout(painelTopo);
		lblLogo = new JLabel();
		lblLogo.setIcon(iconeLogo);
		
		lblLetreiro = new JLabel("Inventário Florestal");
		lblLetreiro.setFont(Tipografia.getFonteFontastique(42));
		lblLetreiro.setForeground(Color.WHITE);
		
		lblCapitulo = new JLabel("Projetos");
		lblCapitulo.setHorizontalAlignment(SwingConstants.RIGHT);
		lblCapitulo.setFont(Tipografia.getFonteCamilla(27));
		lblCapitulo.setForeground(Color.WHITE);
		
		/*Layout do painel Topo*/
		painelTopo.setLayout(layoutTopo);
		layoutTopo.setHorizontalGroup(layoutTopo.createSequentialGroup()
			.addGap(3, 3, 3)
			.addComponent(lblLogo)
			.addGap(20, 20, 20)
			.addComponent(lblLetreiro, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
			.addGap(15, 15, 15)
			.addComponent(lblCapitulo, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
			.addGap(10, 10, 10)
		);
		layoutTopo.setVerticalGroup(layoutTopo.createSequentialGroup()
			.addGroup(layoutTopo.createParallelGroup(GroupLayout.Alignment.LEADING)
				.addComponent(lblLogo)
				.addComponent(lblLetreiro, GroupLayout.PREFERRED_SIZE, 65, Short.MAX_VALUE)
				.addComponent(lblCapitulo, GroupLayout.PREFERRED_SIZE, 65, Short.MAX_VALUE)
			)
		);
		
		/*
			PAINEL DE NAVEGAÇÃO
		*/
		painelNavegacao = new JPanel();
		painelNavegacao.setBackground(new Color(0, 78, 92));
		
		GroupLayout layoutNavegacao = new GroupLayout(painelNavegacao);
		lblServico = new JLabel("Projeto Florestal");
		lblServico.setForeground(Color.WHITE);
		
		painelNavegacao.setLayout(layoutNavegacao);
		layoutNavegacao.setHorizontalGroup(layoutNavegacao.createSequentialGroup()
			.addGap(5, 5, 5)
			.addComponent(lblServico)
		);
		layoutNavegacao.setVerticalGroup(layoutNavegacao.createSequentialGroup()
			.addComponent(lblServico, GroupLayout.PREFERRED_SIZE, 30, Short.MAX_VALUE)
		);
		
		/*
			PAINEL DE DADOS
		*/
		painelDados = new JPanel();
		painelDados.setBackground(Color.WHITE);
		
		GroupLayout layoutDados = new GroupLayout(painelDados);
		
		lblRotuloAnoAbertura = new JLabel("ANO DE ABERTURA:");
		spnAnoAbertura = new JSpinner(criarModeloDESpinnerDeData());
		spnAnoAbertura.setEditor(new JSpinner.NumberEditor(spnAnoAbertura, "#"));
		
		rdbTrocarResponsavel = new JRadioButton("TROCAR RESPONSÁVEL TÉCNICO");
		
		lblRotuloResponsavelTecnico = new JLabel("RESPONSÁVEL:");
		cbbResponsavelTecnico = new JComboBox<String>();
		cbbResponsavelTecnico.setPreferredSize(new Dimension(120, 29));
		
		lblRotuloPeriodo = new JLabel("PERÍODO:");
		ftfPeriodoInicial = new JFormattedTextField();
		ftfPeriodoInicial.setFormatterFactory(new DefaultFormatterFactory(mascaraData));
		
		lblPeriodo = new JLabel("a");
		ftfPeriodoFinal = new JFormattedTextField();
		ftfPeriodoFinal.setFormatterFactory(new DefaultFormatterFactory(mascaraData));
		
		lblRotuloUnidadeFlorestal = new JLabel("UNIDADE FLORESTAL:");
		cbbUnidadeFlorestal = new JComboBox<String>();
		cbbUnidadeFlorestal.setPreferredSize(new Dimension(120, 29));
		
		lblRotuloAnoPlantio = new JLabel("ANO PLANTIO:");
		spnAnoPlantio = new JSpinner(criarModeloDESpinnerDeData());
		spnAnoPlantio.setEditor(new JSpinner.NumberEditor(spnAnoPlantio, "#"));
		
		lblRotuloAreaPlantada = new JLabel("ÁREA PLANTADA:");
		ttfAreaPlantada = new JTextField();
		lblMedidaEmHectare = new JLabel("ha");
		lblRotuloIdade = new JLabel("IDADE:");
		ttfIdade = new JTextField();
		lblRotuloEspecie = new JLabel("ESPÉCIE:");
		cbbEspecie = new JComboBox<String>();
		cbbEspecie.setPreferredSize(new Dimension(120, 29));
		
		lblRotuloEspacamento = new JLabel("ESPAÇAMENTO:");
		ttfLarguraDaArea = new JTextField();
		lblLarguraPorAltura = new JLabel("X");
		ttfComprimentoDaArea = new JTextField();
		lblMedidaEmMetro = new JLabel("m");
		
		painelDados.setLayout(layoutDados);
		layoutDados.setHorizontalGroup(layoutDados.createSequentialGroup()
			//Coluna 1 - Rótulos
			.addGap(10, 10, 10)
			.addGroup(layoutDados.createParallelGroup(GroupLayout.Alignment.LEADING)
				.addComponent(lblRotuloAnoAbertura)
				.addComponent(lblRotuloResponsavelTecnico)
				.addComponent(lblRotuloPeriodo)
				.addComponent(lblRotuloUnidadeFlorestal)
				.addComponent(lblRotuloAnoPlantio)
				.addComponent(lblRotuloEspecie)
			)
			//Coluna 2 - Campos
			.addGap(2, 2, 2)
			.addGroup(layoutDados.createParallelGroup(GroupLayout.Alignment.LEADING)
				.addGroup(layoutDados.createSequentialGroup()
					.addComponent(spnAnoAbertura, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
					.addGap(5, 5, 5)
					.addComponent(rdbTrocarResponsavel)
				)
				.addComponent(cbbResponsavelTecnico)
				.addGroup(layoutDados.createSequentialGroup()
					.addComponent(ftfPeriodoInicial, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE)
					.addGap(3, 3, 3)
					.addComponent(lblPeriodo)
					.addGap(3, 3, 3)
					.addComponent(ftfPeriodoFinal, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE)
				)
				.addComponent(cbbUnidadeFlorestal)
				.addGroup(layoutDados.createSequentialGroup()
					.addComponent(spnAnoPlantio, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
					.addGap(40, 40, 40)
					.addComponent(lblRotuloAreaPlantada, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
					.addComponent(ttfAreaPlantada, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE)
					.addComponent(lblMedidaEmHectare)
					.addGap(10, 10, 10)
					.addComponent(lblRotuloIdade)
					.addComponent(ttfIdade, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
				)
				.addGroup(layoutDados.createSequentialGroup()
					.addComponent(cbbEspecie, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
					.addGap(10, 10, 10)
					.addComponent(lblRotuloEspacamento, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
					.addComponent(ttfLarguraDaArea, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
					.addGap(3, 3, 3)
					.addComponent(lblLarguraPorAltura)
					.addGap(3, 3, 3)
					.addComponent(ttfComprimentoDaArea, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
					.addComponent(lblMedidaEmMetro)
					.addGap(10, 10, 10)
				)
			)
			.addGap(10, 10, 10)
		);
		layoutDados.setVerticalGroup(layoutDados.createSequentialGroup()
			.addGap(10, 10, 10)
			.addGroup(layoutDados.createParallelGroup(GroupLayout.Alignment.BASELINE)
				.addComponent(lblRotuloAnoAbertura)
				.addComponent(spnAnoAbertura)
				.addComponent(rdbTrocarResponsavel)
			)
			.addGroup(layoutDados.createParallelGroup(GroupLayout.Alignment.BASELINE)
				.addComponent(lblRotuloResponsavelTecnico)
				.addComponent(cbbResponsavelTecnico, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
			)
			.addGroup(layoutDados.createParallelGroup(GroupLayout.Alignment.BASELINE)
				.addComponent(lblRotuloPeriodo)
				.addComponent(ftfPeriodoInicial)
				.addComponent(lblPeriodo)
				.addComponent(ftfPeriodoFinal)
			)
			.addGroup(layoutDados.createParallelGroup(GroupLayout.Alignment.BASELINE)
				.addComponent(lblRotuloUnidadeFlorestal)
				.addComponent(cbbUnidadeFlorestal)
			)
			.addGroup(layoutDados.createParallelGroup(GroupLayout.Alignment.BASELINE)
				.addComponent(lblRotuloAnoPlantio)
				.addComponent(spnAnoPlantio)
				.addComponent(lblRotuloAreaPlantada)
				.addComponent(ttfAreaPlantada)
				.addComponent(lblMedidaEmHectare)
				.addComponent(lblRotuloIdade)
				.addComponent(ttfIdade)
			)
			.addGroup(layoutDados.createParallelGroup(GroupLayout.Alignment.BASELINE)
				.addComponent(lblRotuloEspecie)
				.addComponent(cbbEspecie)
				.addComponent(lblRotuloEspacamento)
				.addComponent(ttfLarguraDaArea)
				.addComponent(lblLarguraPorAltura)
				.addComponent(ttfComprimentoDaArea)
				.addComponent(lblMedidaEmMetro)
			)
			.addGap(10, 10, 10)
		);
		
		/*
			Painel de Controles
		*/
		painelDeControle = new JPanel();
		painelDeControle.setBackground(Color.WHITE);
		
		GroupLayout layoutControles = new GroupLayout(painelDeControle);
		ImageIcon iconeSalvar = new ImageIcon(getClass().getResource("/img/grouplayout/save-button.png"));
		btnSalvar = new JButton("SALVAR");
		btnSalvar.setHorizontalAlignment(SwingConstants.LEADING);
		btnSalvar.setHorizontalTextPosition(SwingConstants.TRAILING);
		btnSalvar.setIcon(iconeSalvar);
		btnSalvar.setMargin(new Insets(2, 5, 2, 5));
		btnSalvar.setIconTextGap(10);
		btnSalvar.setForeground(Color.WHITE);
		btnSalvar.setBackground(new Color(5, 5, 100));
		btnSalvar.setPreferredSize(new Dimension(135, 25));
		
		ImageIcon iconeCancelar = new ImageIcon(getClass().getResource("/img/grouplayout/remove-symbol.png"));
		btnCancelar = new JButton("CANCELAR");
		btnCancelar.setHorizontalAlignment(SwingConstants.LEADING);
		btnCancelar.setHorizontalTextPosition(SwingConstants.TRAILING);
		btnCancelar.setIcon(iconeCancelar);
		btnCancelar.setMargin(new Insets(2, 5, 2, 5));
		btnCancelar.setIconTextGap(10);
		btnCancelar.setForeground(Color.WHITE);
		btnCancelar.setBackground(new Color(29, 19, 19));
		btnCancelar.setPreferredSize(new Dimension(135, 25));
		
		ImageIcon iconeEncerrar = new ImageIcon(getClass().getResource("/img/grouplayout/encerrar.png"));
		btnEncerrar = new JButton("ENCERRAR");
		btnEncerrar.setHorizontalAlignment(SwingConstants.LEADING);
		btnEncerrar.setHorizontalTextPosition(SwingConstants.TRAILING);
		btnEncerrar.setIcon(iconeEncerrar);
		btnEncerrar.setMargin(new Insets(2, 5, 2, 5));
		btnEncerrar.setIconTextGap(10);
		btnEncerrar.setForeground(Color.WHITE);
		btnEncerrar.setBackground(Color.RED);
		btnEncerrar.setPreferredSize(new Dimension(135, 25));
		
		painelDeControle.setLayout(layoutControles);
		layoutControles.setHorizontalGroup(layoutControles.createSequentialGroup()
			.addGap(90, 90, 90)
			.addComponent(btnSalvar, GroupLayout.PREFERRED_SIZE, 135, GroupLayout.PREFERRED_SIZE)
			.addComponent(btnCancelar, GroupLayout.PREFERRED_SIZE, 135, GroupLayout.PREFERRED_SIZE)
			.addComponent(btnEncerrar, GroupLayout.PREFERRED_SIZE, 135, GroupLayout.PREFERRED_SIZE)
			.addGap(90, 90, 90)
		);
		layoutControles.setVerticalGroup(layoutControles.createSequentialGroup()
			.addGroup(layoutControles.createParallelGroup(GroupLayout.Alignment.BASELINE)
				.addComponent(btnSalvar)
				.addComponent(btnCancelar)
				.addComponent(btnEncerrar)
			)
		);
		
		/*
			Painel Status
		*/
		painelStatus = new JPanel();
		painelStatus.setBackground(Color.WHITE);
		
		GroupLayout layoutStatus = new GroupLayout(painelStatus);
		lblStatus = new JLabel("Projeto Florestal salvo com sucesso!");
		
		painelStatus.setLayout(layoutStatus);
		layoutStatus.setHorizontalGroup(layoutStatus.createSequentialGroup()
			.addGap(10, 10, 10)
			.addComponent(lblStatus)
		);
		layoutStatus.setVerticalGroup(layoutStatus.createSequentialGroup()
			.addGap(5, 5, 5)
			.addComponent(lblStatus)
			.addGap(10, 10, 10)
		);
		
		/*
			Painel Rodapé
		*/
		painelRodape = new JPanel();
		painelRodape.setBackground(new Color(0, 102, 0));
		
		GroupLayout layoutRodape = new GroupLayout(painelRodape);
		lblVersao = new JLabel("Versão 1.1 - 2019");
		lblVersao.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblVersao.setForeground(Color.WHITE);
		
		lblRotuloUsuario = new JLabel("Usuário:");
		lblRotuloUsuario.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblRotuloUsuario.setForeground(Color.YELLOW);
		
		lblUsuarioLogado = new JLabel("jfsjunior");
		lblUsuarioLogado.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblUsuarioLogado.setForeground(Color.WHITE);
		
		lblData = new JLabel("20/04/2019");
		lblData.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblData.setForeground(Color.WHITE);
		
		lblHora = new JLabel("15:40");
		lblHora.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblHora.setForeground(Color.WHITE);
		
		painelRodape.setLayout(layoutRodape);
		layoutRodape.setHorizontalGroup(layoutRodape.createSequentialGroup()
			.addGap(3, 3, 3)
			.addComponent(lblVersao)
			.addGap(10, 10, 10)
			.addComponent(lblRotuloUsuario)
			.addGap(2, 2, 2)
			.addComponent(lblUsuarioLogado)
			.addGap(10, 10, 10)
			.addComponent(lblData)
			.addGap(5, 5, 5)
			.addComponent(lblHora)
		);
		layoutRodape.setVerticalGroup(layoutRodape.createSequentialGroup()
			.addGroup(layoutRodape.createParallelGroup(GroupLayout.Alignment.BASELINE)
				.addComponent(lblVersao, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
				.addComponent(lblRotuloUsuario, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
				.addComponent(lblUsuarioLogado, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
				.addComponent(lblData, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
				.addComponent(lblHora, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
			)
		);
		
		GroupLayout layoutGeral = new GroupLayout(getContentPane());
		/*Vinculação dos painéis ao painel de conteúdo do JFrame*/
		getContentPane().setLayout(layoutGeral);
		layoutGeral.setHorizontalGroup(layoutGeral.createSequentialGroup()
			.addGroup(layoutGeral.createParallelGroup(GroupLayout.Alignment.LEADING)
				.addComponent(painelTopo, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
				.addComponent(painelNavegacao, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
				.addComponent(painelDados, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
				.addComponent(painelDeControle, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
				.addComponent(painelStatus, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
				.addComponent(painelRodape, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
			)
		);
		layoutGeral.setVerticalGroup(layoutGeral.createSequentialGroup()
				.addGap(1, 1, 1)
				.addComponent(painelTopo, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
				.addGap(1, 1, 1)
				.addComponent(painelNavegacao, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
				.addGap(1, 1, 1)
				.addComponent(painelDados, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
				.addGap(1, 1, 1)
				.addComponent(painelDeControle, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
				.addGap(1, 1, 1)
				.addComponent(painelStatus, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
				.addGap(1, 1, 1)
				.addComponent(painelRodape, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
		);
	}
	
	private SpinnerNumberModel criarModeloDESpinnerDeData(){
		Calendar calendario = Calendar.getInstance();
		SpinnerNumberModel modelo;
		
		int ano = calendario.get(Calendar.YEAR);
		modelo = new SpinnerNumberModel(ano, ano - 29, ano + 29, 1);
		
		return modelo;
	}
	
	private void carregarResponsaveTecnico(){
		String[] listaDeResponsaveis = responsavelTecnico.getResponsaveisTecnicos();
		cbbResponsavelTecnico.addItem("Selecione...");
		
		cbbResponsavelTecnico.setMaximumRowCount(10);
		for(String rt : listaDeResponsaveis){
			cbbResponsavelTecnico.addItem(rt);
		}
	}
	
	private void carregarUnidadeFlorestal(){
		String[] listaUnidadesFlorestais = unidadeFlorestal.getUnidadesFlorestais();
		cbbUnidadeFlorestal.addItem("Selecione...");
		
		cbbUnidadeFlorestal.setMaximumRowCount(10);
		for(String unf : listaUnidadesFlorestais){
			cbbUnidadeFlorestal.addItem(unf);
		}
	}
	
	private void carregarEspecie(){
		String[] listaEspecies = especie.getEspecies();
		cbbEspecie.addItem("Selecione...");
		
		cbbEspecie.setMaximumRowCount(10);
		for(String especie : listaEspecies){
			cbbEspecie.addItem(especie);
		}
	}
	
	private void definirMascara(){
		try{
			mascaraData = new MaskFormatter("##/##/####");
		}catch(ParseException pex){
			System.out.println(pex);
		}
	}
	
	public static void main(String[] args){
		try{
			for(UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()){
				if("Nimbus".equals(info.getName())){
					UIManager.setLookAndFeel(info.getClassName());
					break;
				}
			}
		}catch(Exception excp){}
		
		ProjetoFlorestal projetoFlorestal = new ProjetoFlorestal();
		projetoFlorestal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		projetoFlorestal.setSize(550, 423);
		projetoFlorestal.setVisible(true);
		projetoFlorestal.setResizable(false);
		projetoFlorestal.setLocationRelativeTo(null);
	}
	
	private GroupLayout layoutGeral,
						layoutTopo, 
						layoutNavegacao, 
						layoutDados,
						layoutControles,
						layoutStatus,
						layoutRodape;
	private JPanel painelTopo, 
				   painelNavegacao, 
				   painelDados,
				   painelDeControle,
				   painelStatus,
				   painelRodape;
	private JLabel lblLogo, 
				   lblLetreiro, 
				   lblCapitulo,
				   lblServico,
				   lblRotuloAnoAbertura,
				   lblRotuloResponsavelTecnico,
				   lblRotuloPeriodo,
				   lblPeriodo, //"a"
				   lblRotuloUnidadeFlorestal,
				   lblRotuloAnoPlantio,
				   lblRotuloAreaPlantada,
				   lblMedidaEmHectare, //"ha"
				   lblRotuloIdade,
				   lblRotuloEspecie,
				   lblRotuloEspacamento,
				   lblMedidaEmMetro, //"m"
				   lblLarguraPorAltura, //"X"
				   lblStatus,
				   lblVersao,
				   lblRotuloUsuario,
				   lblUsuarioLogado,
				   lblData,
				   lblHora;
	private JSpinner spnAnoAbertura, 
					 spnAnoPlantio;
	private JRadioButton rdbTrocarResponsavel;
	private JComboBox<String> cbbResponsavelTecnico, 
					  cbbUnidadeFlorestal, 
					  cbbEspecie;
	private JTextField ttfAreaPlantada, 
					   ttfIdade,
					   ttfLarguraDaArea,
					   ttfComprimentoDaArea;
	private JFormattedTextField ftfPeriodoInicial, 
								ftfPeriodoFinal;
	private JButton btnSalvar, 
					btnCancelar, 
					btnEncerrar;
	private MaskFormatter mascaraData;
	private ResponsavelVO responsavelTecnico = new ResponsavelVO();
	private UnidadeFlorestalVO unidadeFlorestal = new UnidadeFlorestalVO();
	private EspecieVO especie = new EspecieVO();
}

package gerenciadoresDeLayout.grouplayout.funcional;

public class EspecieVO{
	private String[] especies = {"p-taeda", "p-elliotti", "p-strobus", "p-caribea", "p-chiapens", 
		"p-maximino", "p-oocarpa", "p-tecunuma", "e-grandis", "e-maculata", "e-dunni", "e-robusta", 
		"e-teretico"};
		
	public String[] getEspecies(){
		return especies;
	}
}


package gerenciadoresDeLayout.grouplayout.funcional;

public class ResponsavelVO{
	private String[] resposaveisTecnicos = {"Walther Hohenadl", "Silvio Karolöge", "João Roberto da Silva"};
	
	public String[] getResponsaveisTecnicos(){
		return resposaveisTecnicos;
	}
}


package gerenciadoresDeLayout.grouplayout.funcional;

public class UnidadeFlorestalVO{
	private String[] unidadesFlorestais = {"U0001-T4Our", "U0007-T1Mat", "U0008-T4Ria", "U0009-T2Pic"};
	
	public String[] getUnidadesFlorestais(){
		return unidadesFlorestais;
	}
}

Rodando…
image