IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaFX Discussion :

Récupérer variables dans controller2


Sujet :

JavaFX

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 18
    Par défaut Récupérer variables dans controller2
    Bonjour,
    je souhaite récupérer les variables du controller 1 dans la fonction initialize() du controller 2 pour l'injecter dans une requête sql.
    J'aimerai avoir les démarches correctes.
    Voici le code :

    Main.java
    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
    package application;
     
    import javafx.application.Application;
    import javafx.fxml.FXMLLoader;
    import javafx.stage.Stage;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
     
    public class Main extends Application {
     
    	@Override
    	public void start(Stage primaryStage) {
    		try {
    			 Parent root = FXMLLoader.load(getClass().getResource("/application/main.fxml"));
    			 primaryStage.setTitle("main window");
    			 //scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
    			 primaryStage.setScene(new Scene(root));
    			 primaryStage.show();
    		} catch(Exception e) {
    			e.printStackTrace();
    		}
    	}	
    	public static void main(String[] args) {
    		launch(args);
    	}
    }
    mainController.java
    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
    package application;
     
    import javafx.fxml.FXML;
    import javafx.fxml.FXMLLoader;
    import javafx.fxml.Initializable;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.ComboBox;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.ResourceBundle;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.ActionEvent;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.AnchorPane;
    import javafx.stage.Stage;
     
    public class mainController implements Initializable{
     
    	@FXML private AnchorPane mainfxml;		
    	@FXML private TextField txtmain;
    	@FXML private ComboBox<String> combobx;	
    	@FXML private Button btnmain;
     
        ObservableList<String> list = FXCollections.observableArrayList("aa","bb","cc","dd");
        ArrayList<String> data = new ArrayList<String>(2);
     
    	@Override
    	public void initialize(java.net.URL arg0, ResourceBundle arg1) {
    		// TODO Auto-generated method stub
    		combobx.setItems(list);
    	}	
     
    	public void btn_main(ActionEvent event) {
    		try {	
    			 FXMLLoader loader = new FXMLLoader(getClass().getResource("/application/second.fxml"));
    			 Parent root = loader.load();
    			 data.add(combochanged().trim());
    			 data.add(txtmain.getText().trim());
    			 System.out.println(data.get(0));
    			 System.out.println(data.get(1));			 
    		     Stage stage = new Stage();
    		     stage.setScene(new Scene(root));
    		     stage.show();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}  				    		
    	}
    	public String combochanged() {       
    		return combobx.getValue();
    	}
    }
    secondController.java
    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
    package application;
     
    import java.net.URL;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.util.ArrayList;
    import java.util.ResourceBundle;
    import javafx.fxml.FXML;
    import javafx.fxml.Initializable;
    import javafx.scene.control.Label;
    import javafx.scene.layout.AnchorPane;
     
    public class secondController implements Initializable{
     
    	PreparedStatement prepareStatement0 = null;
    	ResultSet resst0 = null;			
    	Connection conn = null;	
    	String query0 = null;	
     
    	@FXML private AnchorPane second;
    	@FXML private Label lblsecond;
     
        ArrayList<String> data1 = new ArrayList<String>(2);	
     
    	@Override
    	public void initialize(URL arg0, ResourceBundle arg1) {
    		// TODO Auto-generated method stub
    		 try {
    			   Class.forName("com.mysql.cj.jdbc.Driver");		
    			   String url = "jdbc:mysql://localhost:3306/test";
    			   String username = "root";
    			   String password = "";
     
    			   Connection conn = DriverManager.getConnection(url,username,password);	
     
    			   query0 = "SELECT var1,var2 FROM test_tab where var1=data1.get(0) and var2=data1.get(1)";
    			   prepareStatement0 = conn.prepareStatement(query0);	
    			   resst0 = prepareStatement0.executeQuery(); 
                       //--------------------
    			      //reste du code
    	           //-------------------- 
    	           prepareStatement0.close();
    	           resst0.close(); 			   
     
    		    } catch (Exception e) {
    				// TODO: handle exception
    			    e.printStackTrace();
    			} 			   			   
    	}
    }
    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Le contrôleur est instancié et sa méthode initialize() est invoquée pour toi par le FXMLLoader donc non tu ne peux pas lui fournir cette variable avant son invocation. De plus, le second contrôleur n'a aucune référence vers le premier contrôleur. Donc non ce n'est pas possible a moins d'utiliser des bidouille avec des variables static, ce qui est sale.

    Dans ce genre de cas tu codes le contoleur 2 pour qu'il puisse s’initialiser avec une valeur non-initialisée / null / a une valeur par défaut et ensuite, dans le contrôleur 1 tu invoques un setter du contrôleur 2 ce qui lui permettra de se configurer en fonction de la nouvelle valeur reçue.

    EDIT - il y a une alternative cependant : il est possible d'injecter un contrôleur deja instancié dans le FXMLLoader via la méthode setController() avant d'invoquer load(). Et dans ce cas oui tu peux lui fournir la variable dans son constructeur customisé.
    Merci de penser au tag 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 mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 18
    Par défaut
    merci bouye de votre prompte réponse, mais je ne saisit pas vraiment vos réponse qui me semblent pourtant détaillées à moins de voir des exemples !!

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Bonjour, nous participons sur ce forum en tant que volontaire, sur notre temps libre et quand nous pouvons le faire. Cela ne vous dédouane pas de faire des recherches et des tests de votre coté.

    Qu'est ce que tu ne comprends pas dans ces 2 phrases simples qui parlent de quelque chose de plutôt basique en Java ?

    Il est possible d'injecter un contrôleur deja instancié dans le FXMLLoader via la méthode setController() avant d'invoquer load().
    Visiblement il est question d'invoquer la méthode setController() du FXMLLoader avant d'invoquer sa méthode load().

    1. créer une instance de FXMLLoader
    2. invoquer la méthode setController() avec une instance du second contrôleur en paramètres.
    3. invoquer la méthode load()



    Et dans ce cas oui tu peux lui fournir la variable dans son constructeur customisé.
    Visiblement il s'agit d'écrire un constructeur dans le second controller qui prendrait une telle variable en paramètre, puis de créer une instance de ce contrôleur en invoquant ce constructeur. Logiquement il faut faire cette étape avant celle décrite précédemment (puisque sinon on n'aurait rien à injecter via setController()).
    Merci de penser au tag 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 mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 18
    Par défaut
    ok, je vais essayer de suivre ce que vous dites, mais pardon, peu être pas exactement comme vous le dites. voici les modifications:

    mainController.java
    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
    package application;
     
    import javafx.fxml.FXML;
    import javafx.fxml.FXMLLoader;
    import javafx.fxml.Initializable;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.ComboBox;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.ResourceBundle;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.ActionEvent;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.AnchorPane;
    import javafx.stage.Stage;
     
    public class mainController implements Initializable{
     
    	@FXML private AnchorPane mainfxml;		
    	@FXML private TextField txtmain;
    	@FXML private ComboBox<String> combobx;	
    	@FXML private Button btnmain;
     
        ObservableList<String> list = FXCollections.observableArrayList("aa","bb","cc","dd");
        ArrayList<String> data = new ArrayList<String>(2);
     
    	@Override
    	public void initialize(java.net.URL arg0, ResourceBundle arg1) {
    		// TODO Auto-generated method stub
    		combobx.setItems(list);
    	}	
     
    	public void btn_main(ActionEvent event) {
    		try {	
    			 FXMLLoader loader = new FXMLLoader(getClass().getResource("/application/second.fxml"));
    			 loader.setController(new secondController(data));
    			 Parent root = loader.load();
    			 data.add(combochanged().trim());
    			 data.add(txtmain.getText().trim());			 
    		     Stage stage = new Stage();
    		     stage.setScene(new Scene(root));
    		     stage.show();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}  				    		
    	}
    	public String combochanged() {       
    		return combobx.getValue();
    	}
    }
    secondController.java

    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
    package application;
     
    import java.net.URL;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.util.ArrayList;
    import java.util.ResourceBundle;
    import javafx.fxml.FXML;
    import javafx.fxml.Initializable;
    import javafx.scene.control.Label;
    //import javafx.scene.control.TextField;
    import javafx.scene.layout.AnchorPane;
     
    public class secondController implements Initializable{
     
    	PreparedStatement prepareStatement0 = null;
    	ResultSet resst0 = null;			
    	Connection conn = null;	
    	String query0 = null;	
     
    	@FXML private AnchorPane second;
    	@FXML private Label lblsecond;
     
        ArrayList<String> data = new ArrayList<String>(2);	
     
        public secondController(ArrayList<String> data)
        {
        	this.data = data;	
        }    
     
    	@Override
    	public void initialize(URL arg0, ResourceBundle arg1) {
    		// TODO Auto-generated method stub
    		 secondController sc = new secondController(data);
    		 System.out.println(sc.data);
     
    		/*  try {
     
    			 mainController mc = new mainController();
    			 loader.setController(mc);
    			 loader.load();
     
    			  Class.forName("com.mysql.cj.jdbc.Driver");		
    			   String url = "jdbc:mysql://localhost:3306/test";
    			   String username = "root";
    			   String password = "";	
    			   Connection conn = DriverManager.getConnection(url,username,password);	
     
    			   query0 = "SELECT var1,var2 FROM test_tab where var1=data1.get(0) and var2=data1.get(1)";
    			   prepareStatement0 = conn.prepareStatement(query0);	
    			   resst0 = prepareStatement0.executeQuery(); 
                   //--------------------
    			      //reste du code
    	           //-------------------- 
    	           prepareStatement0.close();
    	           resst0.close(); 			   
     
    		    } catch (Exception e) {
    				// TODO: handle exception
    			    e.printStackTrace();
    			} 	*/
     
    	}
    }
    voici l'execution:

    execution
    juil. 19, 2020 12:23:27 PM javafx.fxml.FXMLLoader$ValueElement processValue
    WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.241
    je rempli la combo et le textfield et j'execute
    juil. 19, 2020 12:23:33 PM javafx.fxml.FXMLLoader$ValueElement processValue
    WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.241
    [] : la 1ière fois
    juil. 19, 2020 12:23:37 PM javafx.fxml.FXMLLoader$ValueElement processValue
    WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.241
    [aa, rr] : la 2ième fois
    juil. 19, 2020 12:23:41 PM javafx.fxml.FXMLLoader$ValueElement processValue
    WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.241
    [aa, rr, aa, rr] : la 3ième fois
    j'aimerai récupérer la 1Re fois uniquement les variables aa et rr pour les enregistrer dans la requête. merci de
    votre réponse, je vois déjà que vous me mettez sur les rails.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 18
    Par défaut
    ok, je vous remercie, bien que je n'ai pas eu de réponse a la dernière question. j'ai effectué quelques bidouilles et
    voici les modifications qui fonctionnent! ce que je demande: est-ce que d'un point de vue syntaxique c'est correct?
    je vous remercie pour tout!!


    mainController.java

    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
    package application;
     
    import javafx.fxml.FXML;
    import javafx.fxml.FXMLLoader;
    import javafx.fxml.Initializable;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.ComboBox;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.ResourceBundle;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.ActionEvent;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.AnchorPane;
    import javafx.stage.Stage;
     
    public class mainController implements Initializable{
     
    	@FXML private AnchorPane mainfxml;		
    	@FXML private TextField txtmain;
    	@FXML private ComboBox<String> combobx;	
    	@FXML private Button btnmain;
     
        public <String> list = FXCollections.observableArrayList("aa","bb","cc","dd");
        public <String> data = new ArrayList<String>(2);
     
    	@Override
    	public void initialize(java.net.URL arg0, ResourceBundle arg1) {
    		// TODO Auto-generated method stub
    		combobx.setItems(list);
    	}	
     
    	public void btn_main(ActionEvent event) {
    		try {	
    			 secondController sc= new secondController(data);
    			 FXMLLoader loader = new FXMLLoader(getClass().getResource("/application/second.fxml"));
     
    			 loader.setController(sc);
    			 data.add(combochanged().trim());
    			 data.add(txtmain.getText().trim()); //on charge tout et on load après !!
     
    			 Parent root = loader.load();
    		        Stage stage = new Stage();
    		        stage.setScene(new Scene(root));
    		        stage.show();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}  				    		
    	}
    	public String combochanged() {       
    		return combobx.getValue();
    	}
    }
    secondController.java

    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
    package application;
     
    import java.net.URL;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.util.ArrayList;
    import java.util.ResourceBundle;
    import javafx.fxml.FXML;
    import javafx.fxml.Initializable;
    import javafx.scene.control.Label;
    //import javafx.scene.control.TextField;
    import javafx.scene.layout.AnchorPane;
     
    public class secondController implements Initializable{
     
    	PreparedStatement prepareStatement0 = null;
    	ResultSet resst0 = null;			
    	Connection conn = null;	
    	String query0 = null;	
     
    	String var0,var1;
     
    	@FXML private AnchorPane second;
    	@FXML private Label lblsecond;
     
        public <String> data = new ArrayList<String>(2);	
     
        public secondController(ArrayList<String> data)
        {
        	this.data = data;	
        }    
     
    	@Override
    	public void initialize(URL arg0, ResourceBundle arg1) {
    		// TODO Auto-generated method stub
    		 secondController sc = new secondController(data);
    		 //System.out.println(sc.data);
     
    		 var0 = sc.data.get(0);
    		 var1 = sc.data.get(1);
    		 System.out.println(var0+" "+var1);
     
    		/*  try {
     
    			  Class.forName("com.mysql.cj.jdbc.Driver");		
    			   String url = "jdbc:mysql://localhost:3306/test";
    			   String username = "root";
    			   String password = "";	
    			   Connection conn = DriverManager.getConnection(url,username,password);	
     
    			   query0 = "SELECT var1,var2 FROM test_tab where var1=data1.get(0) and var2=data1.get(1)";
    			   prepareStatement0 = conn.prepareStatement(query0);	
    			   resst0 = prepareStatement0.executeQuery(); 
                   //--------------------
    			      //reste du code
    	           //-------------------- 
    	           prepareStatement0.close();
    	           resst0.close(); 			   
     
    		    } catch (Exception e) {
    				// TODO: handle exception
    			    e.printStackTrace();
    			} 	*/
     
    	}
    }
    voici l'execution:

    execution
    juil. 20, 2020 8:05:51 PM javafx.fxml.FXMLLoader$ValueElement processValue
    WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.241
    je rempli la combo et le textfield et j'execute avec dd la combo et rr le textfield
    juil. 20, 2020 8:05:58 PM javafx.fxml.FXMLLoader$ValueElement processValue
    WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.241
    dd rr : 1ière execution
    juil. 20, 2020 8:06:01 PM javafx.fxml.FXMLLoader$ValueElement processValue
    WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.241
    dd rr : 2ième execution
    juil. 20, 2020 8:06:04 PM javafx.fxml.FXMLLoader$ValueElement processValue
    WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.241
    dd rr : 3ième execution

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Bonjour, il ne semble pas y avoir de soucis particuliers.

    Pour les warnings a l’exécution c'est juste parce que apparemment les FXML sont crées avec SceneBuilder 11 mais utilisés avec JavaFX 8.
    Merci de penser au tag 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 mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 18
    Par défaut

    ok, merci beaucoup. mais avant de fermer cette discussion, pourriez vous si possible me donner aussi quelques idées sur la même problématique en getter et setter.
    cette transmission de paramètres en javafx me semble un peu délicate lorsqu'on commence effectivement javafx. merci d'avance.

  9. #9
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Dans ce cas il faudrait peut-être commencer par lire un didacticiel sur les propriété car sinon tu ne poserais pas une telle question.

    Plusieurs manieres de procéder :
    • Par une propriété
    • Par une liste observable


    Mais dans tous les cas ça veut dire être capable de construire un contrôleur capable de fonctionner "à vide" (sans aucune valeur, tel qu'il est initialement créé), et ensuite d'écouter la propriété ou la liste observable et de procéder aux changements nécessaire lorsque la/les valeurs contenues dedans changent.
    Merci de penser au tag 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 mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 18
    Par défaut

    ok, je traiterai cela apart. merci tout le monde. je pense que cette discussion est terminée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer variable dans une URL
    Par Yvan76 dans le forum Langage
    Réponses: 9
    Dernier message: 05/08/2009, 14h27
  2. Récupérer variable dans input type text
    Par Enthau dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/06/2007, 08h53
  3. Récupérer Variable dans une autre page et les sauvegarder
    Par MarianD dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/01/2007, 21h07
  4. [débutant] récupérer variables dans fichier
    Par guigui32 dans le forum Langage
    Réponses: 2
    Dernier message: 30/11/2006, 11h03
  5. [ActionScript] Récupérer variable dans URL
    Par JohnBlatt dans le forum Flash
    Réponses: 2
    Dernier message: 20/07/2005, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo