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 :

ObservableList, ComboBox et Base de Donnée


Sujet :

JavaFX

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Etudiant en BTS
    Inscrit en
    mai 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en BTS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut ObservableList, ComboBox et Base de Donnée
    Bonjour à tous,
    Je suis actuellement entrain de réaliser un projet dans le cadre de mon BTS, dans une application nous avons des champs mis en place avec JavaFX est une liste déroulante, la liste déroulante ( ComboBox ) doit afficher tous les locataires dans la Base de donnée par ( Nom/Prénom ) et dès qu'un locataire et sélectionné afficher dans les champs toutes les informations que l'on a mis dans l'observableList ( get depuis la base de donnée ) et bien sur s'actualiser dès que l'on change d'utilisateur dans la combobox.

    Dis comme ça rien de compliquer mais ça fait une semaine que j'ai tout essayé impossible d'avoir tout qui marche j'ai déjà tout recommencé trois fois. Mon application utilise le modèle MVC, j'ai donc une class objet avec mon constructeur Utilisateur, une class BddUtilisateur ou je fais toutes mes requêtes et la class controller ou je gères la vue.

    Le problème c'est que je n'ai jamais tout qui marche, la j'ai encore une fois recommencé avec une méthode "propre" d'après moi mais je n'arrives pas à get les values que je veux dans l'observableList, je vous mets on j'en suis si vous pourrez m'aider:

    Objet Locataire :
    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    package fr.thamos.kedarin.model;
    
    import java.util.Date;
    
    public class Locataire {
    	static int idLocataire;
    	static String civilite;
    	static String nom;
    	static String prenom;
    	static String adresse;
    	static String adresseSuite;
    	static int codePostal;
    	static String ville;
    	static int telF;
    	static int telP;
    	static String fax;
    	static String email;
    	static Date dateEntre;
    	static Date dateSortie;
    	static String observations;
    	static String locationCouple;
    	static int age;
    	static String profession;
    	static int fiabilite;
    	
    	//******************** Constructeur du Locataire ********************//
    	public Locataire(int idLocataire, String civilite, String nom, String prenom, String adresse, String adresseSuite,
    			int codePostal, String ville, int telF, int telP, String fax, String email, Date dateEntre,
    			Date dateSortie, String observations, String locationCouple, int age, String profession,
    			int fiabilite) {
    		super();
    		Locataire.idLocataire = idLocataire;
    		Locataire.civilite = civilite;
    		Locataire.nom = nom;
    		Locataire.prenom = prenom;
    		Locataire.adresse = adresse;
    		Locataire.adresseSuite = adresseSuite;
    		Locataire.codePostal = codePostal;
    		Locataire.ville = ville;
    		Locataire.telF = telF;
    		Locataire.telP = telP;
    		Locataire.fax = fax;
    		Locataire.email = email;
    		Locataire.dateEntre = dateEntre;
    		Locataire.dateSortie = dateSortie;
    		Locataire.observations = observations;
    		Locataire.locationCouple = locationCouple;
    		Locataire.age = age;
    		Locataire.profession = profession;
    		Locataire.fiabilite = fiabilite;
    	}
    
    	public static int getIdLocataire() {
    		return idLocataire;
    	}
    
    	public static String getCivilite() {
    		return civilite;
    	}
    
    	public static String getNom() {
    		return nom;
    	}
    
    	public static String getPrenom() {
    		return prenom;
    	}
    
    	public static String getAdresse() {
    		return adresse;
    	}
    
    	public static String getAdresseSuite() {
    		return adresseSuite;
    	}
    
    	public static int getCodePostal() {
    		return codePostal;
    	}
    
    	public static String getVille() {
    		return ville;
    	}
    
    	public static int getTelF() {
    		return telF;
    	}
    
    	public static int getTelP() {
    		return telP;
    	}
    
    	public static String getFax() {
    		return fax;
    	}
    
    	public static String getEmail() {
    		return email;
    	}
    
    	public static Date getDateEntre() {
    		return dateEntre;
    	}
    
    	public static Date getDateSortie() {
    		return dateSortie;
    	}
    
    	public static String getObservations() {
    		return observations;
    	}
    
    	public static String getLocationCouple() {
    		return locationCouple;
    	}
    
    	public static int getAge() {
    		return age;
    	}
    
    	public static String getProfession() {
    		return profession;
    	}
    
    	public static int getFiabilite() {
    		return fiabilite;
    	}
    	
    }
    Controller Locataire:
    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
    package fr.thamos.kedarin.controler;
     
    import java.net.URL;
    import java.util.ResourceBundle;
     
    import fr.thamos.kedarin.dao.BddLocataire;
    import fr.thamos.kedarin.model.Locataire;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.fxml.FXML;
    import javafx.fxml.Initializable;
    import javafx.scene.control.ComboBox;
    import javafx.scene.control.DatePicker;
    import javafx.scene.control.TextField;
     
    public class GestionView implements Initializable{
     
    	@FXML
    	private ComboBox<Locataire> comBoxLocataire;
     
    	@FXML
    	private TextField nom;
    	@FXML
    	private TextField prenom;
    	@FXML
    	private TextField adresse;
    	@FXML
    	private TextField adresseSuite;
    	@FXML
    	private TextField codePostal;
    	@FXML
    	private TextField ville;
    	@FXML
    	private TextField telF;
    	@FXML
    	private TextField telP;
    	@FXML
    	private TextField fax;
    	@FXML
    	private TextField email;
    	@FXML
    	private DatePicker dateentre;
    	@FXML
    	private DatePicker datesortie;
    	@FXML
    	private TextField observations;
    	@FXML
    	private TextField civilite;
     
    	public void initialize(URL arg0, ResourceBundle arg1) {
            BddLocataire.lectureLocataire();
            comBoxLocataire.valueProperty().addListener(new ChangeListener<Locataire>() {
                @Override 
                public void changed(@SuppressWarnings("rawtypes") ObservableValue ov, Locataire t, Locataire t1) {
                   //
                }
            });
            comBoxLocataire.setItems(BddLocataire.observableListLocataire);
    	}
    }
    La recherche dans la BDD des Locataires :
    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 fr.thamos.kedarin.dao;
     
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
     
    import fr.thamos.kedarin.model.Cste;
    import fr.thamos.kedarin.model.Locataire;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
     
    public class BddLocataire {
     
    	public static String requete;
    	public static Connection connection;
    	public static Statement stat;
    	public static ResultSet result;
    	public static ObservableList<Locataire> observableListLocataire = FXCollections.observableArrayList();
     
    	public static Locataire lectureLocataire() {
     
    		Locataire donnesLocataire = null;
    		connection = null;
    		stat = null;
    		result = null;
     
    		try {
    			connection = DriverManager.getConnection(Cste.url, Cste.login, Cste.passwrd);
    			stat = connection.createStatement();
    			requete = "Select * FROM locataire";
    			result = stat.executeQuery(requete);
    			while(result.next()) {
    				donnesLocataire = (new Locataire(result.getInt(1), result.getString(2),result.getString(3),result.getString(4),result.getString(5),result.getString(6),result.getInt(7),result.getString(8),result.getInt(9),result.getInt(10),result.getString(11),result.getString(12),result.getDate(13),result.getDate(14),result.getString(15),result.getString(16),result.getInt(17),result.getString(18),result.getInt(19)));
    				observableListLocataire.add(donnesLocataire);
    			}
    		} catch(SQLException e) {
    			e.printStackTrace();
    		} finally {
    			if (connection != null) try {
    				result.close();
    				stat.close();
    				connection.close();
    			} catch(SQLException ignore) {
     
    			}
    		}
    		return donnesLocataire;
     
    		}
    	}

    Merci à vous

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : août 2005
    Messages : 6 243
    Points : 22 361
    Points
    22 361
    Billets dans le blog
    48
    Par défaut
    What ?!!! Pourquoi tout est static dans Locataire ?
    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
    Nouveau Candidat au Club
    Homme Profil pro
    Etudiant en BTS
    Inscrit en
    mai 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en BTS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Je ne sais plus ^^ Ah un moment je n'arrivais pas à faire quelque chose Eclipse me l'a proposé et après ça fonctionner mais la je l'ai et retiré il ne met pas d'erreur, mon code a subis beaucoup de test donc bon ^^

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : août 2005
    Messages : 6 243
    Points : 22 361
    Points
    22 361
    Billets dans le blog
    48
    Par défaut
    En mettant static toutes ces valeurs sont partagées par toutes les instances de cette classe ! Et donc toutes les instances vont retourner les valeurs mises dans la dernière en date qui a été construite.
    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
    Nouveau Candidat au Club
    Homme Profil pro
    Etudiant en BTS
    Inscrit en
    mai 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en BTS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Ah d'accord je n'avais même pas bien compris à quoi ça servait merci ! Mais enfaite j'aimerais pouvoir faire quelque chose du style Locataire.getNom ou observablelist.getNom pour afficher dans la ComboBox toutes mes valeurs dans ma DB et ensuite dans les textField les autres valeurs de mon observableList, d'ailleurs je n'arrives pas nom plus à convertir mon objet en String :/

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : août 2005
    Messages : 6 243
    Points : 22 361
    Points
    22 361
    Billets dans le blog
    48
    Par défaut
    Pour le moment tu as besoin de corriger ta classe Locataire en enlevant tous ces static y compris sur les getters.
    Ensuite il te faut créer ce qu'on appelle une cellule pour afficher correctement une vue string de ton Locataire ; tu vas en avoir besoin de 2 (qui peuvent être la même ou différente selon ce que tu veux : une pour la partie bouton de la combobox et une pour la partie liste déroulante de la combobox).
    Enfin, si besoin tu vas devoir modifier le code de la cellule de la partie bouton de la combobox pour la rendre éditable si c'est ce que tu veux faire.

    Je te conseille de lire mon article à ce sujet : Tutoriel sur l'API Cell de JavaFX
    Il y a notamment une partie dédiée aux combobox.
    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

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Etudiant en BTS
    Inscrit en
    mai 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en BTS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par bouye Voir le message
    Pour le moment tu as besoin de corriger ta classe Locataire en enlevant tous ces static y compris sur les getters.
    Ensuite il te faut créer ce qu'on appelle une cellule pour afficher correctement une vue string de ton Locataire ; tu vas en avoir besoin de 2 (qui peuvent être la même ou différente selon ce que tu veux : une pour la partie bouton de la combobox et une pour la partie liste déroulante de la combobox).
    Enfin, si besoin tu vas devoir modifier le code de la cellule de la partie bouton de la combobox pour la rendre éditable si c'est ce que tu veux faire.

    Je te conseille de lire mon article à ce sujet : Tutoriel sur l'API Cell de JavaFX
    Il y a notamment une partie dédiée aux combobox.
    Merci pour t'as réponse, j'ai enlevé tous les statics, mais je n'ai pas réussi à utiliser les List ( j'avoue que je comprends pas trop comment faire ), j'ai essayé d'autre méthode mais toujours le problème ou je ne peux pas afficher d'objet dans la ComboBox

    BddLocataire :
    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
    package fr.thamos.kedarin.dao;
     
    import java.sql.*;
    import java.util.ArrayList;
    import java.util.List;
     
    import fr.thamos.kedarin.model.Cste;
    import fr.thamos.kedarin.model.Locataire;
     
    public class BddLocataire implements Cste {
     
    	//public static ObservableList<Locataire> observableListLocataire = FXCollections.observableArrayList();
     
    	   private Locataire createLocataire(ResultSet rs) {
    		      Locataire loc = new Locataire();
    		      try {
    			        loc.setIdLocataire(rs.getInt("Id_Locataire"));
    			        loc.setCivilite(rs.getString("Civilite"));
    			        loc.setNom(rs.getString("nom"));
    					loc.setPrenom(rs.getString("prenom"));
    					loc.setAdresse(rs.getString("Adresse"));
    					loc.setAdresseSuite(rs.getString("Adressesuite"));
    					loc.setCodePostal(rs.getInt("Codepostal"));
    					loc.setVille( rs.getString("Ville"));
    					loc.setTelF(rs.getInt("TelF"));
    					loc.setTelP(rs.getInt("TelP"));
    					loc.setFax(rs.getString("Fax"));
    					loc.setEmail(rs.getString("email"));
    					loc.setDateEntre(rs.getDate("Dateentre"));
    					loc.setDateSortie(rs.getDate("Datesortie"));
    					loc.setObservations(rs.getString("observations"));
    					loc.setLocationCouple(rs.getString("LocationCouple"));
    					loc.setAge(rs.getInt("age"));
    					loc.setProfession(rs.getString("Profession"));
    					loc.setFiabilite(rs.getInt("fiabilite"));
     
    		      } catch (SQLException ex) {
    		      }
    		      return loc;
    		   }
    	   public List<Locataire> getLocataire()  {
    		      String sql = "Select * from Locataire";
    		      List<Locataire> listLocataire = new ArrayList<>();
    		      try {
    		         Connection con = DriverManager.getConnection(url, login, password);
    		         Statement stmt = con.createStatement();
    		         ResultSet rs = stmt.executeQuery(sql);
    		         while (rs.next()) {
    		            Locataire loc = createLocataire(rs);
    		            listLocataire.add(loc);
    		         }
    		         rs.close();
    		         con.close();
    		      } catch (SQLException ex) {
    		      }
    		      return listLocataire;
    		   }
    	}
    Mon controller Gestion:
    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
    package fr.thamos.kedarin.controler;
     
    import java.net.URL;
    import java.util.List;
    import java.util.ResourceBundle;
     
    import fr.thamos.kedarin.dao.BddLocataire;
    import fr.thamos.kedarin.model.Locataire;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.collections.transformation.FilteredList;
    import javafx.collections.transformation.SortedList;
    import javafx.fxml.FXML;
    import javafx.fxml.Initializable;
    import javafx.scene.control.ComboBox;
    import javafx.scene.control.DatePicker;
    import javafx.scene.control.ListView;
    import javafx.scene.control.TableView;
    import javafx.scene.control.TextField;
     
    public class GestionView implements Initializable{
     
    	@FXML
    	private ComboBox<Locataire> comBoxLocataire;
     
    	@FXML
    	private TextField nom;
    	@FXML
    	private TextField prenom;
    	@FXML
    	private TextField adresse;
    	@FXML
    	private TextField adresseSuite;
    	@FXML
    	private TextField codePostal;
    	@FXML
    	private TextField ville;
    	@FXML
    	private TextField telF;
    	@FXML
    	private TextField telP;
    	@FXML
    	private TextField fax;
    	@FXML
    	private TextField email;
    	@FXML
    	private DatePicker dateentre;
    	@FXML
    	private DatePicker datesortie;
    	@FXML
    	private TextField observations;
    	@FXML
    	private TextField civilite;
     
    	private BddLocataire bddLoc = new BddLocataire();
    	private ObservableList<Locataire> observableLoc;
     
     
    	public void initialize(URL arg0, ResourceBundle arg1) {
    		   observableLoc = FXCollections.observableArrayList(bddLoc.getLocataire());
     
    		   for(int i = 0; observableLoc.size() > i; i++) {
    			   String Test;
    			   Test = observableLoc.get(i).getNom() + " " + observableLoc.get(i).getPrenom();
    			   System.out.println(observableLoc.get(i).toString());
     
    			   comBoxLocataire.setItems(observableLoc.get(i).getNom());
    		   }
     
    	}
    }
    Pourtant cette méthode me semble vraiment pas trop mal :/

  8. #8
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : août 2005
    Messages : 6 243
    Points : 22 361
    Points
    22 361
    Billets dans le blog
    48
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public void initialize(URL arg0, ResourceBundle arg1) {
       observableLoc = FXCollections.observableArrayList(bddLoc.getLocataire());
       for(int i = 0; observableLoc.size() > i; i++) {
          String Test;
          Test = observableLoc.get(i).getNom() + " " + observableLoc.get(i).getPrenom();
          System.out.println(observableLoc.get(i).toString());
          comBoxLocataire.setItems(observableLoc.get(i).getNom()); // ???????????????????????? Ca marche ca sérieusement ?
       }
    }
    Il y a un soucis dans ta logique...
    Ca devrait plutot etre un truc comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public void initialize(URL arg0, ResourceBundle arg1) {
       observableLoc = FXCollections.observableArrayList(bddLoc.getLocataire());
       for(int i = 0; observableLoc.size() > i; i++) {
          String Test;
          Test = observableLoc.get(i).getNom() + " " + observableLoc.get(i).getPrenom();
          System.out.println(observableLoc.get(i).toString());
       }
       comBoxLocataire.setItems(observableLoc);
    }
    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

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Etudiant en BTS
    Inscrit en
    mai 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en BTS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Oui mais la le problème c'est que ça me met les objets dans la comboBox "fr.thamos.kedarin.model.Locataire@5b62c9d4" moi l'idée c'était de faire une boucle et récupérer les valeurs Nom & Prénom de l'observableList et parcourrir tous le contenu dedans d'ou le get(i)
    Et non ça ne marche pas le comBoxLocataire.setItems(observableLoc.get(i).getNom()) ^^ J'ai tenté sans résultat :/

  10. #10
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : août 2005
    Messages : 6 243
    Points : 22 361
    Points
    22 361
    Billets dans le blog
    48
    Par défaut
    Et si tu lisais l'article que je t'ai linké plus haut ainsi que le commentaire que j'ai posté sur les cellules tu comprendrais que je t'ai orienté vers la bonne solution et que ce que tu tentes de faire n'a aucun sens.
    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

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Etudiant en BTS
    Inscrit en
    mai 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en BTS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2019
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par bouye Voir le message
    Et si tu lisais l'article que je t'ai linké plus haut ainsi que le commentaire que j'ai posté sur les cellules tu comprendrais que je t'ai orienté vers la bonne solution et que ce que tu tentes de faire n'a aucun sens.
    Je l'ai lu, j'ai essayé pas mal de chose avec mais comme je l'ai dis plus haut également j'ai du mal avec, je n'ai pas les probables années d’expérience en programmation que tu as donc si c'est compliqué d'aider quelqu'un autant me dire d'aller me débrouiller ça ira plus vite, parce que bon à pars me dire "WTF LES STATIC" "WTF TON CODE SERIEUX CA MARCHE CA ?" Et d'aller voir l'API List que je n'ai jamais utilisé et dont j'ai répondu que je n'y arrivais pas.

    Habituellement quand on aide quelqu'un on lui montre la bonne solution en lui expliquant comment ça marche, pourquoi c'est mieux, la logique de fonctionnement. Mais bon on a pas tous la même méthode après tout.

    Bon week end

  12. #12
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : août 2005
    Messages : 6 243
    Points : 22 361
    Points
    22 361
    Billets dans le blog
    48
    Par défaut
    Alors tu te trompes dans ce raisonnement ici aussi. Développez est un site d'entraide et notre but est de vous donner les bases qui vous permettent également de vous auto-former; ce qui implique entre autre d'apprendre les bonnes pratiques de programmation, de faire des recherches et des tests par vous-même car plus tard lorsque vous serez en milieu professionnel vous devrez être autonomes et savoir vous débrouiller par vous-même. De plus, nous sommes tous volontaires et nous fournissons notre aide gratuitement, sans rémunération et sur notre temps libre. Il nous arrive parfois de pondre effectivement le code d'une solution, notamment lorsque qu'on voit que la personne est en partie sur la bonne voie mais rien de nous y oblige. En aucun cas nous ne sommes ici pour faire vos exercices, TP ou travaux de stage à votre place.

    Dans ton cas, sans vouloir t'offenser, l'erreur initiale avec static semble indiquer que tu ne maîtrises pas encore les bases du language et donc qu'il te faut bosser un peu plus sur cette partie avant de passer à autre chose !

    Ensuite ton approche pour remplir la liste est mauvaise car tu ne semble pas comprendre qu'il est normal que ta liste contienne des entités (Locataire) et non pas des valeurs String.
    La liste va afficher des String à partir des Locataire qu'elle contient, mais en aucun cas elle ne contient des String. Il faut donc créer une vue, ce qu'on appelle une cellule (et sa fabrique) en JavaFX.
    Je t'ai déjà donné plusieurs faisceaux pouvant te mener à la bonne solution y compris un article qui contient des explications et des codes assez simples qui permettent de changer une liste (ou une table ou une combobox ou un arbre, car tous ces contrôles fonctionnent de manière identique en JavaFX) ce qui permet de faire des tests par toi-même.

    Faire des tests c'est créer des petits projets annexes très simples, ciblés et focalisés sur un problème permettant de bidouiller et de voir ce qui marche ou pas. Ensuite quand tu as saisi le pourquoi du comment alors tu peux rapporter la solution sur ton gros projet complexe.
    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

Discussions similaires

  1. combobox et Base de donnée
    Par chlours dans le forum C++
    Réponses: 2
    Dernier message: 10/03/2008, 10h12
  2. Probleme de Code pour combobox et base de donnée
    Par freko dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/11/2007, 14h37
  3. Problème combobox et base de données
    Par dubidon dans le forum VB.NET
    Réponses: 17
    Dernier message: 12/05/2007, 09h02
  4. ComboBox éditable <-> Base de données
    Par jacklafrip dans le forum MFC
    Réponses: 5
    Dernier message: 26/09/2006, 10h33
  5. [VBA-E]COMBOBOX, et base de données
    Par legend dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 24/02/2006, 13h22

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