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