Bonjour à tous,
Désolé pour le titre du post un peu vide et incomplet ... mais je ne vois vraiment pas d'où vient mon problème ni a quoi il est dû.
Je vous expose la chose:
Certains ont déja (voir autres posts) vu le principe de mon appli.
Pour rappel:
A gauche une Liste contenant des images (qui sont en fait des objets 'Materiel' extends JPanel. Chaque image est un objet fille de la classe mère 'Materiel').
Ces 'Materiel' peuvent etre drag&drop sur le JPanel a droite de la Liste (Tableau) qui est en layout null.
A chacun de ces objets est associé une JDialog qui s'ouvre lorsque click droit sur un 'Materiel' , popup > proprietes.
Dans la classe mere il y a une methode abstract: afficheDialogue, qui est redefinie dans les classes filles.
Jusqu'ici tout va bien. On click proprietes, hop la JDialog apparait.
Maintenant, je commence a ecrire le code derriere une JDialog (pour la classe fille 'Rita' extends 'Materiel' donc ... pour que tout le monde suive).
Cette JDialog est en fait une : 'RitaDialog' extends JDialog.
Dedans se trouve pour le moment , un JLabel et un JComboBox.
Dans cette 'RitaDialog' on peut choisir le type de 'Rita'. Ce type sera choisit via la JComboBox, et les infos de la JComboBox sont récupérés dans une BD Mysql.
Nous en arrivons au probleme.
Dans un premier temps, je me suis limité a faire :
Je lance l'appli. et en ouvrant les proprietes je vois bien mon label (crée plus haut) et le JComboBox avec les String représentant les types.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // On recupere une liste de String qui sont tous les types de 'Rita' possibles types = SqlRequetes.getTypeStation(); typeStation = new JComboBox(types.toArray()); this.add (typeStation);
Pour être plus propre, et aussi pour réutiliser ensuite, j'ai voulu créer une classe 'TypeStation', qui est composée d'un :
Comme ca je peux récuperer l'id dans la BD, cela me sera utile par la suite pour voir : avec tel type de station, on a acces a tel type de connexion, etc etc ... enfin ceci n'est pas l'interet du post.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3int id; String type;
J' en viens donc à faire :
C'est effectivement le meme code que ci dessus, mais : getTypeStation retourne dans le premier cas un : List<String>, et dans le deuxieme cas un : List<TypeStation>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 types = SqlRequetes.getTypeStation(); typeStation = new JComboBox(types.toArray()); this.add (typeStation);
Voici le code de la methode getTypeStation() dans le cas d'un List<TypeStation> (si List<String>, il suffit de remplacer les types et remplacer le add(new TypeStation(id,nom)) par add(nom)
Et bien lorsque je passe par un List<String>, la JDialog de proprietes s'affiche sans probleme, si je passe par un List<TypeStation>, la JDialog de proprietes ne s'affiche jamais ... et aucune erreur a aucun moment ...
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 public static Vector<TypeStation> getTypeStation () throws SimulatorException { Vector<TypeStation> stations = new Vector(); try{ Statement stmt = DBManager.getConnection().createStatement(); if(stmt==null) throw new SimulatorException("Erreur de Connexion"); ResultSet rs = stmt.executeQuery("SELECT id,station FROM STATIONS_RITA"); if(rs==null) throw new SimulatorException("Erreur de Requête"); while (rs.next()) { int id = rs.getInt("id"); String nom = rs.getString("station"); stations.add(new TypeStation(id, nom)); } } catch (SQLException sqlE){ System.out.println("erreur"); } return stations; }
J'espere avoir ete assez clair dans le probleme ... Mais là je ne vois trop pas où est le prob ... ni comment le résoudre.
Si je veux etre plus clair, je dois paster tout mon projet ... et bon c'est quand meme pas le but
Si quelqu un a une idée, je suis + que preneur
Partager