Bonjour,
je cherche à déveloper une application mvc.
J'ai donc développer une classe model:
une classe Gui pour la vue. Dans cette classe il y a plusieurs classes internes pour différents éléments de mon interface graphique. (par exemple des formulaires de saisies)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public class Model { [..] }
et une class Controller:
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 public class Gui { private Model model; public Gui(Model model) { this.model=model; [..] } [..] class NewClient { private JButton validNewClient; NewClient(){ validNewClient=new JButton("Valider"); validNewClient.setActionCommand("ValidNewClient"); validNewClient.addActionListener(....); //J'aimerais l'ajouter à une instance de la classe Controller } } [..] class NewFournisseur{ private JButton validNewFournisseur; NewFournisseur(){ validNewFournisseur=new JButton("Valider"); validNewFournisseur.setActionCommand("ValidNewFournisseur"); validNewFournisseur.addActionListener(....); //J'aimerais l'ajouter à une instance de la classe Controller } } [..]
et une classe Main
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 public class Controller implements ActionListener{ private Model model; private Gui vue; public Controller(Model model,Gui vue) { this.model=model; this.vue=vue; [..] } public actionPerformed(ActionEvent e) { //Traitement } }
En faisant comme ceci, je pense respecter le design pattern mvc. Mais mon souci réside dans l'ajout des boutons de validations des formulaires dans l'écouteur d'action avec la méthode addActionListener.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class Main { Model model Gui vue; Controller controller; public Main(){ model=new Model(); vue=new Gui(model); controller=new Controller(model,vue); } }
En effet, je dois les ajouter dans une instance de Controller.
Le hic est que la vue ne possède pas de variables de classe Controller. Je pourrais l'ajouter mais dans ce cas, je ne respecte plus le design pattern mvc.
Comment puis-je faire d'après vous ?
Merci d'avance.
++
Partager