sábado, 18 de outubro de 2014

Java como adicionar componente de calendário jcalendar em frame java

 Para quem deseja incluir um componente do tipo calendário em alguma tela em java, segue uma dica fácil com um link de download do jCalendar, que utilizo no NetBeans e acho muito bom.

Primeiramente é necessário realizar o download do pacote, podendo utilizar o link que segue:

http://www.toedter.com/download/jcalendar-1.4.zip
 Descompacte o arquivo e abra o NetBeans, realizando os procedimentos a seguir:
  •  No menu "Ferramentas" >> "Bibliotecas" ;
  •  Crie uma nova Biblioteca, inclua o nome que desejar e escolha o tipo de biblioteca "Bibliotecas de classe";
  • Selecione a biblioteca criada e clique na opção "Adicionar jar/pasta";
  • Localize a pasta descompactada do componente e selecione todos os arquivos dentro da pasta "lib" e clique no botão "Adicionar jar/pasta" e em "Ok";
  • No menu "Ferramentas" >> "Paleta" >> "Componentes Swing/AWT";
  • Crie uma "Nova Categoria" com o nome que desejar;
  •  Clique em "Adicionar da biblioteca", selecionando a biblioteca criada anteriormente e clique em "Próximo";
  • Selecione todos os componentes, clique em "Próximo", selecione a categoria criada e "Finalizar".
 Feito isto você já pode procurar na paleta os componentes adicionados.

 Neste exemplo utilizei o componente "JDateChooser", que após ser adicionado, pode ser configurado conforme sua preferência e uma dica interessante é bloquear o campo texto deste componente para edição, deixando que o utilizador da aplicação apenas selecione a data e não ocorra erros de formatação. Para isso, utilize o código abaixo, onde "NOMECOMP" deve ser o nome dado ao componente utilizado:

((JTextField)NOMECOMP.getDateEditor().getUiComponent()).setEditable(false);

 Para alterar o formato exibido no componente na tela,  selecione-o e na tela de propriedades altere o valor "dateFormatString".
 Já para pegar o valor do campo com o formato desejado, pode-se utilizar o trecho de código abaixo, observando que pode ser alterado o formato de saída no valor "SimpleDateFormat("dd/MM/yyyy")":

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
JOptionPane.showMessageDialog(rootPane, df.format(NOMECOMP.getDate()));

Para mais informações sobre os outros componentes da biblioteca, consulte o este link.

Dicas de como manipular datas, acesse este link.