Optimisation d'un programme JAVA

Signaler
Messages postés
7
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
4 août 2003
-
Messages postés
2
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
31 août 2005
-
Salut,

Je cherche quelqu'un qui pourrai m'aider à optimiser un programme JAVA qui me semble un peu lourd au niveau des lignes de code car je suis un débutant donc j'ai fait avec les moyens du bord.

Le but du programme est d'animer un espèce de grafcet constituer de pas action et de pas test.

Merci d'avance pour celui qui veut bien me passer son mail pour que je lui envoi en fichier joint le programme.

Remarque : Le programme JAVA marche déjà trés bien c'est juste pour une optimisation du code et savoir si je peux utiliser autre chose dans mon application au lieu de ce qui a été fait.

6 réponses

Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
cmest sur que je sais pas comment ton code est fait et vu quetu début, je vasi pas te dire de t,encombrer avec des thread, masi c'est la solution qui augment, si c'est pas double ou triple, la vitesse en permettant au cpu de calculer plusieurs chose à la fois
Messages postés
7
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
4 août 2003

Salut,

Peu m'importe d'augmenter la vitesse d'exécution du grafcet puisqu'il n'y a qu'une étape qui change à la fois donc une seule une mise en relief de la couleur de l'étape en cours. Moi ce que je voudrai c'est justement essayer d'optimiser mou code ou si je puis dire changer la façon de programmer que j'ai fait qui est d'utiliser des boucle If Else en mettant à la place par exemple des switch case en regardant si sa alllège mon code ou pas. Je sais pas si j'ai été claire !!!!

Merci @+
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
c'est quoi exactement comme programme que tu as fais. Pour le select à comparrer des if else if, il y a pas de différence, sinon extrêment minime.

écris une partie de ton code ici, je vais y jeter un coup d,oeil
Messages postés
7
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
4 août 2003

public void update(Graphics g){

// Mise à jour des étapes
if(e==0){
val4 = new String ("Voulez vous démarrer la procédure ?");
db = new Debut_Fin4(val4);
db.setLayout(new FlowLayout()); //création d'un flowlayout, assignation au frame
//db.pack();
db.setSize(250,100);
db.move (280,30);
db.show();

g.setColor(Color.red);
g.drawRect(145, 50, 50, 30);}

if(e==1){
if(CEX_Dispo == true){
val1 = new String (" ''CEX disponible'' ");
val3 = new String (" ''Contrôle de la chimie'' ");
messoui = new MessageOui4(val1, val3);
messoui.setLayout(new FlowLayout()); //création d'un flowlayout, assignation au frame
messoui.pack();
messoui.move (280,30);
messoui.show();}
else if(CEX_Dispo == false){
val1 = new String (" ''CEX disponible'' ");
messnon = new MessageNon4(val1);
messnon.setLayout(new FlowLayout()); //création d'un flowlayout, assignation au frame
messnon.pack();
messnon.move (280,30);
messnon.show();}

g.setColor(Color.blue);
g.drawRect(145, 50, 50, 30);

g.setColor(Color.red);
int listeX1[]={95,105,235,245,235,105,95};
int listeY1[]={100,90,90,100,110,110,100};
int nbrXY1=listeX1.length;
g.drawPolygon(listeX1, listeY1, nbrXY1);}

else if(e==2){
if(Chimie == true){
val1 = new String (" ''Chimie satisfaisante'' ");
val3 = new String (" ''Contrôle de DVG1 ES'' ");
messoui = new MessageOui4(val1, val3);
messoui.setLayout(new FlowLayout()); //création d'un flowlayout, assignation au frame
messoui.pack();
messoui.move (280,30);
messoui.show();
}
else if (Chimie == false){
val1 = new String (" ''Chimie satisfaisante'' ");
messnon = new MessageNon4(val1);
messnon.setLayout(new FlowLayout()); //création d'un flowlayout, assignation au frame
messnon.pack();
messnon.move (280,30);
messnon.show();
}

g.setColor(Color.white);
int listeX1[]={95,105,235,245,235,105,95};
int listeY1[]={100,90,90,100,110,110,100};
int nbrXY1=listeX1.length;
g.drawPolygon(listeX1, listeY1, nbrXY1);

g.setColor(Color.red);
int listeX2[]={95,105,235,245,235,105,95};
int listeY2[]={140,130,130,140,150,150,140};
int nbrXY2=listeX2.length;
g.drawPolygon(listeX2, listeY2, nbrXY2);}

etc..............}

et mon principale problème c'est lorsque je fais bouger mes fenêtre de message sa me crée des centzine de fenêtre donc je sais pas si c un bogue au niveau des ActionListener de mes fenêtre générique ou autre chose.

voila @+
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
c'est que ut as écris dans public void update(Graphics g)

ce qui veut dire, à chaque rafraichissement des graphique ça exécute le code

donc surement tes frame messnon.show() et messoui.show() dois s'ouvrir sasn arrêt
Messages postés
2
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
31 août 2005

Bonjour,



J'ai ecrit recemment un livre sur le sujet et je l'ai mis gratuitement sur le web a l'adresse : http://www.kamalaouda.com



Ce livre qui traite du cas particulier des applications de commerce
électronique implémentées à l'aide des technologies Java et MySQL,
propose un référentiel pour l'intégration du management des
performances aux trois premières phases du cycle de développement
(analyse, design, codage).



Obtetenez des aujourd'hui votre copie gratuite a l'adresse : http://www.kamalaouda.com



Kamal AOUDA

kamalaouda@kamalaouda.com