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); } }






Répondre avec citation



quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez 
Partager