JavaFX Vivre l'Heure et la Date

Je fais construire actuellement une application à l'aide de JavaFx avec une fonction supplémentaire qui affiche la date et l'heure dans le coin de la scène. Depuis, je suis nouveau sur JavaFX, je ne sais pas comment la mettre celui-ci.

J'ai essayé d'utiliser un vieux code de swing, mais j'ai eu une IllegalStateException Erreur.

Voici mon code.

MainMenuController.java

@FXML private Label time;

private int minute;
private int hour;
private int second;

@FXML
public void initialize() {

    Thread clock = new Thread() {
        public void run() {
            for (;;) {
                DateFormat dateFormat = new SimpleDateFormat("hh:mm a");
                Calendar cal = Calendar.getInstance();

                second = cal.get(Calendar.SECOND);
                minute = cal.get(Calendar.MINUTE);
                hour = cal.get(Calendar.HOUR);
                //System.out.println(hour + ":" + (minute) + ":" + second);
                time.setText(hour + ":" + (minute) + ":" + second);

                try {
                    sleep(1000);
                } catch (InterruptedException ex) {
                     //...
                }
            }
        }
    };
    clock.start();
}

MainMenu.fxml

 <children>
   <Label fx:id="time" textFill="WHITE">
     <font>
       <Font name="Segoe UI Black" size="27.0" />
     </font>
   </Label>
   <Label fx:id="date" textFill="WHITE">
     <font>
       <Font name="Segoe UI Semibold" size="19.0" />
     </font>
   </Label>
 </children>

Main.java

public class Main extends Application {

   public static void main(String[] args) {
       launch(args);
   }

   @Override
   public void start(Stage primaryStage) throws Exception {
       Parent root = FXMLLoader.load(getClass().getResource("view/MainMenu.fxml"));
       primaryStage.setScene(new Scene(root,1366, 768));
       primaryStage.show();
   }
}

Comme vous le remarquez, je l'ai testé l'impression de l'heure en direct dans la console. Ouais, il a travaillé, mais l'étiquette est toujours statique.

Remarque: si vous utilisez Java SE 8 (ou plus), il est recommandé d'utiliser la nouvelle Date & de l'API du Temps lorsque c'est possible.
Double Possible de: JavaFX l'Affichage de l'Heure et de l'Actualiser à Chaque Seconde

OriginalL'auteur Bryan Reyes | 2017-02-22