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…
