>> Tecnologia Eletrônica >  >> Casa Inteligente >> Vida Inteligente

Como Criar um Relógio Digital em Java

Uma das características mais poderosas da linguagem Java é sua biblioteca gráfica Swing (GUI). Usuários Java podem construir programas visuais orientados a eventos como relógios digitais usando apenas alguns comandos simples. Programadores Java têm uma infinidade de componentes disponíveis, como rótulos, botões e temporizadores, que conectam para montar seus programas.

Passo 1

Crie uma classe DigitalClock. Ela precisa estender a classe JFrame que vem com a biblioteca Swing da interface do usuário no Java Development Kit da Sun Microsystems. Também implementará a interface ActionListener para responder ao evento do temporizador e permitir que o relógio se atualize. Isso pode ser feito colando o seguinte código em arquivo chamado "DigitalClock.java".

import java.awt.Font;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;

/**
 * Esta classe exibe um relógio digital na tela.
 * @author Kevin Walker
 */
public class DigitalClock extends JFrame implements ActionListener {
    // Todos os outros passos devem ter seu código adicionado aqui.
}

Se estiver usando ambiente de desenvolvimento Java dedicado como NetBeans ou Eclipse, haverá opção no menu Arquivo para fazer isso automaticamente.

Passo 2

Crie um JLabel para exibir a hora atual ao usuário:

JLabel timeLabel = new JLabel();

Passo 3

Inicialize o formato do seu relógio digital usando a classe SimpleDateFormat da biblioteca Java.

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss")

Este formato exibirá hora, minuto e segundos atuais. Lista completa de códigos de formato disponível no Javadoc SimpleDateFormat no site da Sun Microsystems (veja Referências).

Passo 4

Crie um temporizador. Este objeto não guardará a hora, mas funcionará como alarme que diz ao programa para atualizar a hora regularmente. Cole o seguinte código:

Timer timer;

Passo 5

Crie um método construtor para construir o programa colando o seguinte:

public DigitalClock() {
    // Execute construtor da classe pai JFrame.
    super();
    // Saia do programa quando usuário fechar janela.
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    // Obtenha hora atual do sistema e exiba conforme formato definido.
    timeLabel.setText(sdf.format(new Date(System.currentTimeMillis())));
    // Defina fonte maior e mais bonita que a padrão.
    timeLabel.setFont(new Font("Dialog", Font.PLAIN, 24));
    // Defina temporizador para atualizar relógio a cada 500 ms (0,5 s)
    timer = new Timer(500, this);
    timer.setRepeats(true);
    timer.start();
    // Adicione display de hora à janela e torne visível.
    this.add(timeLabel);
    this.pack();
    this.setVisible(true);
}

Passo 6

Atualize o relógio com nova hora do sistema sempre que temporizador disparar:

public void actionPerformed(ActionEvent e) {
    // Se o temporizador causou este evento.
    if (e.getSource().equals(timer)) {
        // Defina nova hora.
        timeLabel.setText(sdf.format(new Date(System.currentTimeMillis())));
    }
}

Passo 7

Crie ponto de entrada para o programa de relógio digital do sistema operacional dando um método main.

public static void main(String[] args) {
    // Crie o relógio digital.
    new DigitalClock();
}