Optimisation d'un programme JAVA

karim1758 Messages postés 7 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 4 août 2003 - 24 juin 2003 à 15:26
Kamal AOUDA Messages postés 2 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 31 août 2005 - 31 août 2005 à 14:06
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

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
24 juin 2003 à 16:42
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
0
karim1758 Messages postés 7 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 4 août 2003
25 juin 2003 à 11:55
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 @+
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
25 juin 2003 à 13:10
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
0
karim1758 Messages postés 7 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 4 août 2003
25 juin 2003 à 18:43
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 @+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
25 juin 2003 à 23:23
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
0
Kamal AOUDA Messages postés 2 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 31 août 2005
31 août 2005 à 14:06
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
0
Rejoignez-nous