package settlers_javafx; import java.awt.event.ActionEvent; import java.text.SimpleDateFormat; import java.util.Date; import javafx.geometry.Pos; import javafx.scene.text.Font; public final class Clock extends javafx.scene.control.Label implements java.awt.event.ActionListener { private final SimpleDateFormat SIMPLE_DATE_FORMAT; public Clock(String type, int x, int y, int width, int height) { setTextFill(javafx.scene.paint.Color.BLUE); setLayoutX(x); setLayoutY(y); setPrefSize(width, height); switch (type) { case "date": SIMPLE_DATE_FORMAT = new SimpleDateFormat(" MMMM dd yyyy"); setFont(new Font("sans-serif", 12)); setAlignment(Pos.CENTER_LEFT); break; case "time": SIMPLE_DATE_FORMAT = new SimpleDateFormat("hh:mm:ss a"); setFont(new Font("sans-serif", 40)); setAlignment(Pos.CENTER); break; case "day": SIMPLE_DATE_FORMAT = new SimpleDateFormat("EEEE "); setFont(new Font("sans-serif", 16)); setAlignment(Pos.CENTER_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)); } }