L'état des contrôles lors du lancement de l'application peut être fixé en FXML, ou bien en écrivant une méthode "initialize" pour la classe contrôleur. Cette méthode est appelée juste après la création de l'interface. On va s'en servir ici pour que l'application Bonjour dise effectivement "Bonjour", et donne la date et l'heure.
Sous SceneBuilder, cliquer sur la première ligne de saisie et dans la partie Code de l'inspecteur d'objet, écrire "Bonjour!" dans le champ "text" (ou, pour aller plus vide, ouvrir Echantillon.fxml sous Eclipse, repérer la balise de la première ligne de saisie, et ajouter manuellement dans cette balise
text="Bonjour!"
ce qui donne une balise du genre
Comme la date et l'heure changent tout le temps on ne peut pas les afficher de cette façon, on va donc le faire via la méthode initialize().
Dans EchantillonController ajouter la méthode suivante :
@FXML void initialize(){ LocalDate date=LocalDate.now(); DateTimeFormatter forme=DateTimeFormatter.ofPattern("dd/MM/yyyy"); ligne2.setText("Nous sommes le "+date.format(forme)); LocalTime time=LocalTime.now(); int heure=time.getHour(); int minutes=time.getMinute(); ligne3.setText("Il est "+heure+"h"+minutes+"min }
LocalDate.now() et LocalTime.now() renvoient respectivement la date et l'heure sous forme d'objets.
La méthode date.format permet d'obtenir une chaîne de caractère représentant la date, dans un format spécifié à l'aide d'un objet DateTimeFormatter. (on pourrait obtenir plus simplement une chaîne de caractère représentant la date en utilisant date.toString(), mais la date s'affiche alors au format année-mois-jour)
Pour afficher l'heure on extrait de l'objet LocalTime time les heures et les minutes, puis on les incorpore au texte écrit dans la troisième ligne.