Bonjour,

Jusqu'à maintenant j'utilisais surtout Swing et comme je trouve beaucoup d'avantages à javaFX je teste certaines fonctions pour modifier certains programmes

Entre autres, j'essaie d'ajouter une image à un bouton. Apparemment je me plante au moment de créer une ImageView.
J'ai essayé plusieurs choses en prenant des exemples dans des forums, mais aucune n'a fonctionné. La création d'une ImageView lance toujours une exception. J'obtiens toujours le message "ImageView pas créée";

Merci d'avance si vous pouvez corriger le code ci-dessous et me signaler mon erreur.

Gérard
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
package exercices;
 
import java.io.File;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
import javafx.application.Application;
 
public class TestBouton extends Application 
{
	StackPane root = new StackPane();
 
	@Override
	public void start(Stage stage)
	{
		stage.setTitle("Test image dans un bouton");
		stage.initStyle(StageStyle.UNDECORATED);
		root.setStyle("-fx-border-color: Red;  "  
							+ "-fx-border-width: 3; "  
							+ "-fx-background-color: Black;  ");
		Scene scene = new Scene(root, 200, 200);
		stage.setScene(scene);
		stage.show();
	}
 
	@Override
	 public void init()
	 {
			Button exit = new Button("Exit");
			exit.setOnAction(event -> System.exit(0));  
			String img = "F:\\cinephil\\images\\sauvegarde.png";
			File f = new File(img);
 
		 	if (f.exists())
			{
				 try 
				 {
					     Image monImage = new Image(getClass().getResourceAsStream(img));
					     if (monImage != null)
					     {
					        ImageView imgView = new ImageView(monImage);
					        exit.setGraphic(imgView);
					     }
 
				 } 
				 catch (Exception ex) 
				 {
					    System.out.println("ImageView pas créée");
				 }
			}
			else System.out.println("fichier non trouvé");
		 	root.getChildren().add(exit);
	}
 
	public static void main(String[] args)
	{
		launch(args);
	}
}