Bonjour à tous,

Ci-dessous ce trouve un petit code qui affiche un JFrame qui contient un JPanel de couleur rouge. Lorsque nous cliquons dessus, l'arrière-plan devait passer du bleu, au jaune après une légère temporisation. Mais en fait, pas du tout...
Es ce que vous pouvez m'expliquer pourquoi la commande "pan.setBackground(Color.BLUE);" est complètement ignoré ?




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
package test;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class Fenetre extends JFrame{
 
public Fenetre() {   
	this.setSize( 200 , 200 );
	this.setLocationRelativeTo(null);
	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
	JPanel pan = new JPanel();
	pan.setBackground(Color.RED);
	pan.addMouseListener(new java.awt.event.MouseAdapter() {
		public void mouseClicked(java.awt.event.MouseEvent me) {
			pan.setBackground(Color.BLUE);
			tempo(5);
	    	        pan.setBackground(Color.YELLOW);
			}});
 
	this.setContentPane(pan);
	this.setVisible(true);
}
	private void tempo(int t) {
		for(int i = 1; i <= t; i++)
		{ try{ Thread.sleep(t*100); }
		catch (InterruptedException e){e.printStackTrace(); } }
	}
}