Como visto no Post 11 a utilização de um JCombobox com conteúdo estático, podemos criar um método para criar o valor a ser preenchido pelo componente, ou podemos optar por preenchermos com os valores que são carregados de um arquivo ou banco de dados. Vamos criar um método que retorne após o seu processamento um vetor com todos os anos apartir do ano de 1900. Esse método pode ser personalizado, parando antes do ano atual ou começando em uma data posterior a 1900. Vamos ao código.



 public String[] buscarAnos(){</P>
<DIV> String dados[]; Date hoje = new Date();//data atual do sistema </DIV>
<DIV>String formato = "yyyy";//formatoque eu quero pegar da data SimpleDateFormat formatter = new SimpleDateFormat(formato);//instancio esse objeto passando o formato que eu quero int anoatual=Integer.parseInt(formatter.format(hoje));//esse metodo vai retornar o ano </DIV>
<DIV>dados= new String[anoatual-1898]; dados[0]= "Anos";//esse campo é para no primeiro aparecer a palavra anos </DIV>
<DIV> for (int i=1;anoatual>=1900;i++){//este for vai parar quando o ano atual for menor a 1900</DIV>
<DIV> dados[i]=String.valueOf(anoatual);//aqui eu vou passando para o vetor os anos </DIV>
<DIV>anoatual--;//aqui eu vou decrementando os anos</DIV>
<DIV> } return dados; } </DIV>
<DIV> </DIV>
<DIV>


         Nesse método foram retornados todos os anos em ordem decrescente e no começo da lista foi retornado a palavra Anos.



        Após escrever o código e colocar os imports.



        Clicar com o botão direito do mouse sobre o componente, ir em model e depois selecionar códigos personalizados e colar o código abaixo dentro do espaço.



new javax.swing.DefaultComboBoxModel(buscarAnos())



         Após efetuar todos esses passos o componente irá aparecer em branco, para visualizarmos a lista de anos devemos executar o projeto.



          Pode ser necessário efetuar o redimensionamento do componente para todos os campos aparecerem perfeitamente no formulário. Para mostrarmos no componente os dados do banco de dados, precisamos apenas efetuar o mesmo processo diferença é que no método serão carregados a consulta do banco, para mostrarmos os dados de um arquivo também, diferença no método serão carregados os dados do arquivo.