Bonjour,
Je suis encore face à un problème !
Pour diminuer la quantité de lignes de code dans une classe, j'aimerais créer une méthode dont certains paramètres seront adaptés/changés à l'aide d'un switch case.
Ce qui implique (enfin, je pensais) de devoir passer une méthode en paramètre.
Je suis aller voir sur le net et j'ai trouvé quelque chose, mais ça ne fonctionne pas pour mon problème.
Voici une partie de mon code pour faciliter la compréhension:
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
28
29
30
31
32
33
34
35
36
switch(listNr){
	case 2:
		test();
		break;
	case 3: test();
	break;
	case 4: test();
	break;
	}
 
private void test(String listName, Class classe, Methode methode, GraphicsConfiguration gConfig){
		String shortListName = listName.substring(3);	//permet d'enlever les 2 --
		if(view==null){	//si le 'JFrame' est deja ouvert, il n'essaye plus de l'ouvrir
			view = new Manage_jTabbedPaneMainBis(facade, gConfig);
			if(ctb.getJPanelManageClients().isValid()==false){	//si le panneau est deja actif, il n'essaye plus de l'activer
				view.getJTabbedPaneMain().addTab(shortListName, null, ctb.getJPanelManageClients(), BorderLayout.CENTER);
				view.getJTabbedPaneMain().setSelectedComponent(ctb.getJPanelManageClients());	//permet d'activer l'onglet que l'on ajoute grace a un bouton
				for(int i = 0; i < view.getJTabbedPaneMain().getTabCount(); i++){
					view.getJTabbedPaneMain().setTabComponentAt(i, new ButtonTabComponent(view.getJTabbedPaneMain()));
				}
			}else{
				//sinon rien
			}
		}else{
			if(view.isVisible()==false) view.setVisible(true);	
			if(ctb.getJPanelManageClients().isValid()==false){	//si le panneau est deja actif, il n'essaye plus de l'activer
				view.getJTabbedPaneMain().addTab(shortListName, null, ctb.getJPanelManageClients(), BorderLayout.CENTER);
				view.getJTabbedPaneMain().setSelectedComponent(ctb.getJPanelManageClients());	//permet d'activer l'onglet que l'on ajoute grace a un bouton
				for(int i = 0; i < view.getJTabbedPaneMain().getTabCount(); i++){
					view.getJTabbedPaneMain().setTabComponentAt(i, new ButtonTabComponent(view.getJTabbedPaneMain()));
				}
			}else{
				//sinon rien
			}
		}
	}
Bien sûr, dans l'appel de la méthode 'test' du switch case, je dois y inclure les paramètres ad hoc.
Et dans la méthode 'test', le paramètre 'methode' dois remplacer la méthode 'getJPanelManageClients()'.
Est-ce que ma démarche est possible (j'espère avoir été assez clair ) !
PS: la méthode test(), permet d'ouvrir des JTabbedPane
Merci d'avance.

Marc