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(); } } } }
Partager