On va d'abord créer une variable de type String dans le fichier contrôleur pour contenir le nom de l'image à afficher.
Dans EchantillonController, on ajoute donc dans la liste des déclarations de variables :
String nomImage="images/Penguins.jpg";(il faut évidemment indiquer le nom d'une des images importées dans le package images). Le code qui va permettre de charger l'image est :
Image uneImage=new Image(nomImage);//crée un objet de type Image pour contenir l'image désignée par la chaîne de caractères (String) "nomImage" vueImage.setImage(uneImage);//affiche cette image dans l'ImageViewer vueImageIl reste à trouver un endroit où placer ce code, pour qu'il puisse être exécuté par le programme.
Pour que l'image apparaisse dès le lancement du programme, on peut placer ce code dans une méthode spéciale @FXML private void initialize() qui a l'intérêt d'être exécutée automatiquement juste après la mise en place de l'interface.
Le code complet du contrôleur devient alors
package application; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.image.Image; import javafx.scene.image.ImageView; public class EchantillonController { @FXML ImageView vueImage; @FXML Button boutonSuivante; String nomImage="images/Penguins.jpg"; @FXML void initialize(){ Image uneImage=new Image(nomImage); vueImage.setImage(uneImage); } }L'image choisie apparaît au-dessus du bouton dès le lancement du programme.
On aurait pu faire aussi :
package application; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.image.Image; import javafx.scene.image.ImageView; public class EchantillonController { @FXML ImageView vueImage; @FXML Button boutonSuivante; String nomImage="Penguins.jpg"; @FXML void initialize(){ Image uneImage=new Image("images/"+nomImage); vueImage.setImage(uneImage); } }