re,
apres 4j, me revoici
je cree 1 stage
fichier Main.java
fichier FXML_Main.fxml
fichier CONTROLLER_Main.java
ma Stage s'affiche:
dedans 1 TextField
j'entre 1 valeur
j'affiche cette valeur ds une nvelle stage
fichier FXML_F02.fxml
fichier CONTROLLER_F02.java
ma stage s'affiche
dedans 1 TextField
j'entre 1 valeur
QUE JE SOUHAITE AFFICHER DS MA PRECEDENTE STAGE
et là... pfff cata:
Je comprends pas le coup du loader et des instances du controller
Un peu de code a propos du CONTROLLER de la stage F02, là ou je peche (profond, tres profond).
DE ce que je comprends
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78 // ajouté pr permettre d'envoyer la valeur // de F02 vers la fenetre Main public void action_bis() throws IOException { System.out.println("action"); String p_data = getF02_txtF(); System.out.print(p_data); CONTROLLER_Main ctrl_Main = new CONTROLLER_Main(); // ??? // Parent root = FXMLLoader.load(getClass().getResource("FXML_Main.fxml")); // SOIT // ce bloc ensemble FXMLLoader loader_Main = new FXMLLoader(); // tu précises le fichier à charger loader_Main.setLocation(Main.class.getResource("FXML_Main.fxml")); // OU // loader_Main.setController(this); // loader_Main.getController(); // loader_Main.load(); // SOIT // ce bloc // FXMLLoader loader_Main = new FXMLLoader(getClass().getResource("FXML_Main.fxml")); loader_Main.getController(); loader_Main.load(); // on a 1 scene System.out.println(F02_lbl02.getScene()); // on a 1 stage System.out.println(F02_lbl02.getScene().getWindow()); // ne peut pas etre resolu // System.out.println(Main_AC.getScene()); // loader_Main.getController(); // les 2 fonctionnent qd il n'y a rien en dessous // ctrl_Main = loader_Main.load(); // ctrl_Main = loader_Main.getController(); // ajout 01 // try { // tu précises le fichier à charger // loader_Main.setLocation(Main.class.getResource("FXML_Main.fxml")); // ctrl_Main = loader_Main.load(); // ctrl_Main = loader_Main.getController(); // } catch (IOException except) { // except.printStackTrace(); // } // ctrl_Main is null ctrl_Main.setLblFromController2(F02_txtF.getText()); // ctrl_Main is null // ctrl_Main.setLblFromController2(p_data); // fonctionne sans les ajouts 01 System.out.println(ctrl_Main.test); // because the return value of // "application.CONTROLLER_Main.getMain_P()" is null // System.out.println(ctrl_Main.getMain_P().getHeight()); }
L11; je cree 1 instance de mon CONTROLLER_Main
L19: je cree 1 instance de FXMLLoader
L21: je charge le fichier FXML_Main.fxml ds mon instance de FXMLLoader
L32 + L33: je peche ms sans appât
L37 et L39: j'ai 2 "adresses memoire", dc j'ai bien ma scene et ma stage (lesquelles? celles du Main ou celles de F02?)
L67: j'ai 1 retour console
java.lang.NullPointerException: Cannot invoke "javafx.scene.control.Label.setText(String)" because "this.lblFromController2" is null
Voilà,
j'arrive pas a comprendre l'histoire du loader qui load().
J'ai essayé plein de trucs au pifometre ms non, je ne comprends pas ce que je dois faire
re creer stage et scene?
utiliser le loader.load() correctement? (ms ça je ne sais pas faire).
Bon, voilà
si vs pviez me montrer et m'expliquer SVP parce que ce we j'ai bronze grace a mon ecran, pas le soleil...
En vs remerciant
grub
Partager