Bonjour,
depuis peu j'ai redécouvert Netbeans avec sa version 6.8 et je trouve que le GUI Builder est pas mal fichu du tout. Mais je bloque quand même sur un point, à savoir le passage de paramètre dans le constructeur d'un Component.
Mon cas (volontairement simplifié) est le suivant. J'ai une classe Menu qui possède une liste de plats, chaque plat possédant un nom et un prix. D'autre part, j'ai une classe MenuPanel qui gère l'affichage d'un objet Menu.
Pour utiliser les fonctions de binding de Netbeans, j'ajoute un objet de type Menu dans mon MenuPanel (par un glisser déposer) ce qui me permet par la suite d'accéder à ses propriétés
J'ai donc les classes suivantes
Ce que je voudrais c'est modifier la méthode initComponent() pour soit lui passer en paramètre un objet de type Menu reçu du constructeur, soit me charger de l'initialisation de l'attribut menu du MenuPanel directement dans le constructeur.
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 public class Menu { private List<Plat> listeAliments; /*getter + setter + constructeur*/ } public class Plat { private String nom; private Double prix; /*getter + setter + constructeur*/ } public class MenuPanel extends JPanel { private Menu menu; public MenuPanel() { initComponent(); } private initComponent() { //Code généré automatiquement menu = new Menu(); /*+ d'autres lignes*/ } }
C'est à dire, soit
Soit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class MenuPanel extends JPanel { private Menu menu; public MenuPanel(Menu newMenu) { initComponent(newMenu); } private initComponent(Menu newMenu) { //Code généré automatiquement menu = newMenu; /*+ d'autres lignes*/ } }
Le but final étant de disposer d'un composant de type JPanel capable d'afficher le menu que je lui passe en paramètre le tout en utilisant à fond les capacités de Binding de netbeans. Oui je sais ça parait exigeant mais je me dit que ca doit bien être possible...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class MenuPanel extends JPanel { private Menu menu; public MenuPanel(Menu newMenu) { this.menu = newMenu; initComponent(); } private initComponent() { //Code généré automatiquement /*+ d'autres lignes*/ } }
J'espère avoir exposé mon problème suffisamment clairement.
Flo.




. Mais je bloque quand même sur un point, à savoir le passage de paramètre dans le constructeur d'un Component.
Répondre avec citation



Partager