Componente Visual para Manipular Horas

12 respostas
valquiria.matter

Oi galera !

Seguinte:

Existe algum componente visual, tipo JCalendar para manipular horas ?
Na minha app preciso cadastrar eventos, e isso, preciso da hora.
Até então deixei apenas um textfield com máscara, mas acho q não tá muito legal assim !

O que eu poderia fazer ?

Desde já agradeço !

12 Respostas

thiagocg

Cara eu usei a implementação do link abaixo e funcionou blz, da uma olhada!!!

http://www.exampledepot.com/egs/javax.swing/spinner_SpinnerHour.html?l=rel

[ ]'s

valquiria.matter

Bem interessante isso ai !
Como eu posso usar isso na minha tela ???

Preciso criar algum componente ?

thiagocg

Sim vc pode criar um componente ou apenas fazer essa implementação na tela q vc precisar!

Eu aconselho criar um componente q estenda o jspinner e implemente os metodos q vc irá precisar, assim qd houver necessidade novamente vc ja tem o componente pronto!

[ ]´s

valquiria.matter

Pode me ajudar com o código ?

thiagocg

O link q te passei acima possui a implementação completa do componente. Só precisa criar uma classe q estenda jspinner e colocar a implementação do link em um outro construtor.

É bem simples!

Tenta fazer ai e posta os erros q forem aparecendo!

[ ]'s

valquiria.matter

Blz !

Criei uma classe que estende JSpinner, e coloquei aquele código em um método.
E agora para mim usar na tela ?

thiagocg

O correto acho q seria vc criar construtores diferentes com a implementação de cada necessidade sua, alem dos metodos publicos e privados que vc precisa que o componente tenha a mais.

Apos fazer isso vc deve invoca-lo direto no seu frame, dialog, seja la qual for o container q vc esteja usando, pois um componente é uma simples classe com um construtor e metodos implementados!

E vc usa ele como vc usa um jbutton, um jdialog ou qualquer outro componente swing!

[ ]'s

valquiria.matter

Então, na verdade eu tenho uma classe chamada evento.
Nessa classe eu tenho um textfield onde será informada a hora.
Devo tirar esse componente ???

Ainda não intendi certinho como usar aquele código !

thiagocg

Olha se vc pegar aquele metodo copiar e colar ele vai funcionar, a dica sobre criar um componente é para vc poder reutiliza-lo facilmente, mas se esta tendo dificuldade quanto a criação do componente, vc pode apenas copia e colar o codigo respeitando os nomes variaveis, e pra vc utiliza-lo ñ há diferença nenhuma de um jspinner comum, pois ele é a classe jspinner alterado apenas a exibição.

valquiria.matter

Obrigada !!!

Consegui !

Só uma dúvida, como eu tiro a data, e deixo somente a hora ?

thiagocg

vc tem q inicializar o componente com um valor valido, faz assim cria um metodo e coloca o codigo abaixo nele:

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
seuJspinner.setValue(calendar.getTime());

e chama esse metodo por ultimo no final do seu codigo

valquiria.matter

Obrigada !!!

Deu certo !

Criado 26 de novembro de 2008
Ultima resposta 28 de nov. de 2008
Respostas 12
Participantes 2