package settlers;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.text.SimpleDateFormat;
import javax.swing.SwingConstants;
import java.util.Date;

public final class Clock extends javax.swing.JLabel implements java.awt.event.ActionListener {

    private final SimpleDateFormat SIMPLE_DATE_FORMAT;

    public Clock(String type, int x, int y, int width, int height) {
        setForeground(java.awt.Color.BLUE);
        setBounds(x, y, width, height);
        switch (type) {
            case "date":
                SIMPLE_DATE_FORMAT = new SimpleDateFormat("  MMMM dd yyyy");
                setFont(new Font("sans-serif", Font.PLAIN, 12));
                setHorizontalAlignment(SwingConstants.LEFT);
                break;
            case "time":
                SIMPLE_DATE_FORMAT = new SimpleDateFormat("hh:mm:ss a");
                setFont(new Font("sans-serif", Font.PLAIN, 40));
                setHorizontalAlignment(SwingConstants.CENTER);
                break;
            case "day":
                SIMPLE_DATE_FORMAT = new SimpleDateFormat("EEEE  ");
                setFont(new Font("sans-serif", Font.PLAIN, 16));
                setHorizontalAlignment(SwingConstants.RIGHT);
                break;
            default:
                SIMPLE_DATE_FORMAT = new SimpleDateFormat();
        }
        javax.swing.Timer t = new javax.swing.Timer(1000, this);
        t.start();
    }

    @Override
    public void actionPerformed(ActionEvent ae) {
        Date d = new Date();
        setText(SIMPLE_DATE_FORMAT.format(d));
    }
}
