Bonjour, j'étudie un programme avec deux classes: "VueSwing" et "VueJFX" (exactement les même IHM, la seul diff est la bibliotheque utilisée) héritant de "ControleurVue" (classe abstraite). Les classes filles remonte les actions utilisateur a la classe mére en utilisant un ID pour différencier les actions.
VueSwing:
Vue JavaFX:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void actionPerformed(ActionEvent e) { if (c == startConnexionbutton) { actionUser(1); } else if (c == stopConnexionButton) { actionUser(2); } }
ControleurVue:
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) { startConnexionbutton.setOnMouseReleased(mouseEvent -> { actionUser(1); }); stopConnexionButton.setOnMouseReleased(mouseEvent -> { actionUser(2); }); }
La méthode "connection()"" appel une méthode abstraite "refreshNumeroCE()"" de "ControleurVue".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public void actionUser(int idAction) { switch (idAction) { case 1: connection(); break; case 2: deconnection(); break; } }
Logique, cette méthode est définie dans "VueSwing" et "VueJFX" avec un body différent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void connection(){ refreshNumeroCE(); } public abstract void refreshNumeroCE();
J'ai fait un test et java choisi la bonne méthode (refreshNumeroCE() définit dans VueJFX ou définit dans VueSwing) en fonction de l'IHM sur la quelle l'utilisateur a cliquer et je n'arrive pas a comprendre comment.
Pouvez vous m'aider ?
Partager