JSlider custom : clic sur le track
Helloo !
Je suis en train d'écrire un JSlider custom (en passant notamment par la définition d'un SliderUI).
Ca marche bien. Il y'a cependant un comportement par défaut du JSlider dont je n'arrive pas à me débarrasser : quand on clique sur la barre de track le slider avance d'un pas (comme pour un ascenseur).
Or je veux que lorsqu'on clique sur le track, le knob vienne se mettre là où je viens de cliquer.
En gros je fais ça :
Code:
1 2 3 4 5 6 7 8 9 10
|
slider.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent evt) {
setWinX(evt.getX()); //setWinX fait un bête setKnobX sur mon slider.
}
(...) + override de toutes les méthodes avec un corps vide
}); |
Cela fonctionne si ce n'est que juste avant d'adopter mon comportement, le knob commence par adopter celui par défaut (donc il se déplace d'abord d'un pas, puis va à la position que je lui donne).
En soit ce n'est pas dramatique, ms c'est chiant ;)
Y'a t'il moyen d'empêcher le comportement par défaut ?
Merci d'avance :ccool:
Marff