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