J'essaye de créer une bordure sur un objet ayant le focus mais je ne comprend pas pourquoi lorsque celui-ci a la focus, rien ne se passe voici mon code.
Cela ne marche pas au niveau de la méthode EcouteurFocus

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
import java.awt.Color;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.Border;
 
public class ThermometreSouris extends ThermometreDessin{
	Thermometre thermometre;
	private double increment;
	public ThermometreSouris(double valeur, double min, double max){
		super(valeur,min,max);
		thermometre=this.getThermometre();
		increment=(max-min)/100;
		this.setFocusable(true);	
		this.ecouteurs();
	}
	private void ecouteurs(){
 
		this.addMouseListener(new EcouteurSouris());		
		this.addFocusListener(new EcouteurFocus());
 
	}
	class EcouteurSouris extends MouseAdapter{
		public void mouseClicked(MouseEvent e){			
			requestFocusInWindow();
		}
	}
	class EcouteurFocus implements FocusListener{		
		public void focusGained(FocusEvent e){				
			ThermometreSouris c=(ThermometreSouris)e.getSource();			
			c.setBorder(BorderFactory.createLineBorder(Color.RED,20));
 
		}
		public void focusLost(FocusEvent e){
			ThermometreSouris c=(ThermometreSouris)e.getSource();
			c.setBorder(null);
		}
 
	}
public static void main(String[] args){
		JFrame f=new JFrame();
		f.setBounds(10,10,200,200);		
		f.add(new ThermometreSouris(25,-50,50));		
		f.setVisible(true);
	}
}

Merci d'avance