Bonjour,
Je développe en superwaba quatre classes, la classe principale : Principal, trois autres classes, deux qui héritent de Container : Configuration, Affichage + une autre classe Chronometre. A savoir que la classe Principal ne me sert qu'à instancier les trois classes précédentes au démarrage.
Ces trois classes doivent communiquer entre elles lors de certain événement, par exemple quand je suis dans ma fenêtre de config et que je valide celle-ci, je déclenche un événement par le clique sur le bouton et la je dois appeler plusieurs méthodes des différentes classes :
Donc j'ai déclaré dans ma classe Principal les trois précédentes en static :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //Si l'événement est la validation du bouton BValider if(e2.target==BValider){ Principal.chronometre.Initialisation_Cycles(EEdit.size()); Principal.affichage.HPBar = new Hashtable(EEdit.size()); Principal.chronometre.InitialiserTimer(2); Principal.affichage.LTimer.setText("Cycle 1 :"); Principal.MBMenu1.setEnabled(101,true); Principal.getMainWindow().swap(Principal.affichage); }
Cependant je ne sais pas si cette façon de faire, bien quelle marche, soit correcte du point de vu de l'optimisation du code ou du style, de plus si une variable static s'apparente à une variable global en c++ il me semble qu'il vaut mieux éviter de les utilisées, ou du moins les utilisées un minimum.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class Principal extends MainWindow { static Configuration CCycle; static Affichage affichage_chronometre; static MenuBar MBMenu1 ; static Chronometre chronometre;
Avez-vous une idée de la meilleurs façon pour traiter ce genre de cas ou cela vous semble t-il correcte ?
Partager