Certificação e Relógio Analógico em Java

Aê, pessoal, obtive a minha SCJP 5 em novembro, apesar de ter estudado o livro da Cathy Sierra apenas uma vez e não ter tido tempo para revisá-lo nem fazer simulados, por causa dos projetos em que trabalho…

:smiley:

Comemorando, segue um jar auto-executável e o respectivo código-fonte… se vocês gostarem eu posto um tutorial passo a passo explicando os comos e porquês das técnicas utilizadas, está bem arquitetado e organizado, e esse tutorial pode servir para explicar como criar engines de jogos super simples reutilizando a implementação do relógio…!

:stuck_out_tongue:

Requer jre 5

obs: por gentileza sempre me dêem crédito quando distribuirem o programa ou utilizarem trechos do código, obrigado.

Parabens ,eu gostaria muito que vc publicasse o tutorial.

Existe modo de manter a hora sem pegar a mesma do
SO.

Primero parabens pela SCJP :smiley:

o relogio ficou muito bom =D

Parabéns…

bem legal cara o relogio !!!

Obrigado a todos pelos parabéns!

:wink:

Bom, o único jeito de persistir o horário em um sistema é havendo um firmware para isso. A BIOS do PC contém um relógio que se mantém funcionando através da sua bateria mesmo quando o computador é desligado.

É possível, entretanto, obter a hora online conectando-se a um servidor de horas. Com o Locale configurado adequadamente é possível obter a hora de acordo com o fuso horário do usuário.

Ainda, se o programa for um applet, pode-se obter a hora do servidor que hospeda a página ao invés de obtê-la do computador do usuário, mas nesse caso não seria considerado o fuso horário, e o sucesso depende das permissões de acesso do servidor.

Eu vou elaborar o tutorial e quando estiver pronto vejo como postá-lo no GUJ.

:smiley:

Ai cara, muito legal o que vc fez.
E eu to desenvolvendo uma aplicação no netbean 6.1 e não tenho muita esperiencia.
Será que vc ou outra pessoa poderia me informar como eu uso esse .jar em minha aplicação?
Valeu.

[quote=Giliard.Lourenço]Ai cara, muito legal o que vc fez.
E eu to desenvolvendo uma aplicação no netbean 6.1 e não tenho muita esperiencia.
Será que vc ou outra pessoa poderia me informar como eu uso esse .jar em minha aplicação?
Valeu.[/quote]
O .jar do relógio?

Vc pode pegar os fontes e jogar as classes referentes ao relógio na sua app, basicamente vc precisa ter uma instância do relógio, que é um Sprite (extends Sprite), o que quer dizer que vc precisa da classe Relogio, da classe Sprite e da classe com as constantes com parâmetros para o relógio, então precisa haver uma Thread que vai ficar chamando os métodos update() e paint(g2) do relógio no intervalo que vc quiser (a cada 500 ms, por exemplo, quanto menor o intervalo mais suave a trajetória do ponteiro de segundos). Veja que o paint(g2) precisa receber uma instância de Graphics2D que você vai pegar provavelmente do JPanel onde você tiver adicionado o relógio…

Como faz algum tempo que fiz esse programa não lembro dos detalhes, mas em linhas gerais é isso…

Por gentileza, faça uma referência a Cláudio Loureiro no seu código onde você colocar as classes do relógio!

:wink:

Se vc quiser pode colocar as classes do Sprite, Relogio e constantes em um .jar diferente e deixá-lo no classpath da sua aplicação, ou simplesmente criar o jar da sua aplicação já com as classes do relógio dentro…!

Ah, apenas lembrando: entre uma chamada a paint e outra você precisa limpar o seu Graphics2D… você pode fazer isso chamando:

g2.setColor(Color.BLACK); g2.fillRect(posX, posY, largura, altura);
Se você não fizer isso os redesenhos do relógio serão sobrepostos, criando uma bagunça na tela, hehehe…

E não se preocupe em deixar a thread fazer várias chamadas a update() e paint(g2), o relógio roda a pelo menos 60 fps (60 frames, ou redesenhos, por segundo), a menos que você tenha feito algo errado com o JPanel da sua aplicação…

Meus parabéns!

realmente ficou muito bom um dia chego la tambem hehehe

vc tem paciencia pra mecher com trigonometria heim…

Meus parabéns!

Funcionou muito bem. Coloquei no eclipse e dei uma “ajeitada” e fiz rodar também, mas agora não estou conseguindo implementar na minha aplicação. Alguma ajuda?
:cry: :cry: :cry:

Parabéns kra…pela certificação e pelo projeto do relógio…

Ainda estou engatinhando…mas eu chego lá um dia tbm…

Ficou muito bom…

Parabens pela certificação veio.