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:
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);
		}
}
Vue JavaFX:
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);
	});
}
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;
	}
}
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
 
private void connection(){
	refreshNumeroCE();
}
 
public abstract void refreshNumeroCE();
Logique, cette méthode est définie dans "VueSwing" et "VueJFX" avec un body différent.
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 ?