Bonjour,

mon applet simule l'avancée d'une réaction chimique grace à un graphique
l'utilisateur peut demarrer avec le bouton play. et il peut faire pause en appuyant dessus (le bouton play se tranforme en bouton pause)

le problème c'est que à la pause la ligne du graphique n'est plus visible, alors que ça aurait été utile à la pause de pouvoir l'observer

j'ai bien fait des trucs genre : graphics g =getGraphics....
g.repaint(); quand on est à la pause mais rien n'y fait

Code :
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
 
 /**
         * Actions du bouton START/PAUSE
         */
private void action_b_start() {
 
isMarche = true;
if (isPause) {
	// L'utilisateur a appuyer sur le bouton START
	isPause = false;
	if(premiere){
		simulation = new Simulation(app);
				app.getFenetreGraphe().getFenetreGrapheParam().getcb_tmax().setSelectedIndex(0);//forcage à Tmax =2H pour 
																								//chaque début de simu
				simulation.demarreSimulation();
				premiere = false;
			}
			simulation.setEnMarche(true);
			enableBoutonStop(true); // Sur la fenêtre principale
 
			// Transformation du bouton START en bouton PAUSE
			setIsPause(false); // Sur la fenêtre principale
 
		} else {
			// L'utilisateur a appuyer sur le bouton PAUSE
			isPause = true;
			simulation.setEnMarche(false);
			b_start.setEnabled(true);
			app.getFenetreGraphe().setVisible(true);
			// Transformation du bouton PAUSE en bouton START
			this.app.getPanneauBoutons().setIsPause(true); // Sur la fenêtre principale
			Graphics g= app.getFenetreGraphe().getGraphePh().getGraphics();
			app.getFenetreGraphe().getGraphePh().paint(g);
 
		}
	}
Fonction qui affiche des points :
Code :
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 
/**
         * Affichage des nouveaux points dans le graphe : 
         * on affiche les points pour les pompes 
         * Appellée par PanneauCuveGeneral.majGraphePompe
         */
	public void afficherPoint() {
		Graphics g = this.getGraphics();
		boolean afficher = false;    // Si le point est à afficher (cela dépend de l'échelle)
 
 
		if(abcisseEnCours == 1) {
			abcisseEnCours++;
			indiceTab++;
		} 
 
else if (abcisseEnCours < ABCISSE_MAX) {
// On calcule si le point est à afficher (selon l'échelle)
if ( indiceTab%(1/(2.0/this.T_MAX)) == 0) {
afficher = true;
} else {
afficher = false;
}
 
if(afficher){
// Pour chacune des pompes on réalise l'affichage
for(int i = 11 ; i>=0; i--) {
boolean cuve_select = false;
// on regarde si on doit afficher la courbe correspondant à la cuve x
if(i>1 && i<7){
if(cuves[i] != null)
cuve_select = cuves[i].isSelected();
} else if(i>6 && i<12) {
if(cuves[i-5] != null)
cuve_select = cuves[i-5].isSelected();
} else if(i==0 && app.getModele()!=PanneauCuves.MODELE_1_CUVE_DECHRO){
cuve_select = true;
} else if(i==1 && app.getModele()!=PanneauCuves.MODELE_1_CUVE_DECYAN){
cuve_select = true;
}
 
if (cuve_select) { // On affiche les points que si nécessaire
if (i == 0) {
g.setColor(Color.blue);
}
else if (i == 1) {
g.setColor(Color.red);
}
else if (i-5>1)
g.setColor(new Color(223,37,186));
else
g.setColor(new Color(37,220,223));
 
double pas = 1/(2.0/this.T_MAX);
g.drawLine(abcisseEnCours-1+x, tab_coor[indiceTab-(int)pas][i],abcisseEnCours+x, tab_coor[indiceTab][i]);
 
 
	(jai coupé certains trucs qui n'avait pas d'interet)					
}
}    
 
abcisseEnCours++;
 
}
 
indiceTab++;
}
PS : si je passe une fenetre dessus il devient visible

Merci de votre aide !