Bonjour,
Je n'ai pas trouvé sur la doc Java comment interdire le retour en arrière d'un JSlider. Vous n'auriez pas une petit piste à m'indiquer ?
Bonjour,
Je n'ai pas trouvé sur la doc Java comment interdire le retour en arrière d'un JSlider. Vous n'auriez pas une petit piste à m'indiquer ?
Vous n'avez pas d'idée ou je n'ai pas été assez claire ?
A vrai dire, comme c'est un composant qui sert à régler une valeur,Je n'ai pas trouvé sur la doc Java
il n'est pas étonnant qu'il n'y ait pas de système de blocage.
Je suppose que seule la "marche en avant" est autorisée ?comment interdire le retour en arrière d'un JSlider
Donc on ne peut pas seulement désactiver le composant.
Ce que tu peux essayer, c'est d'ajouter un évènement qui se déclenche quand la souris est relâchée (MouseReleased).
Si le jslider.getValue() est inférieur à sa valeur précédente alors on rétablit l'ancienne valeur.
champ de classe:
dans le constructeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2int anc; javax.swing.JSlider jSlider1;
ajout de l'évènement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part anc = jSlider1.getValue();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 jSlider1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseReleased(java.awt.event.MouseEvent evt) { if (anc > jSlider1.getValue()) { jSlider1.setValue(anc); } else { anc = jSlider1.getValue(); } } });
Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)
Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/
Bon en fait ça ne fait pas vraiment ce que j'aimerais... Ya vraiment pas moyen de bloquer le retour arrière ? ou alors je dois peut etre trouver directement un slider de ce type....
Il te faudra probablement réécrire l'UIDelegate (Classe héritant de SliderUI, en général héritant de BasicSliderUI) du JSlider car c'est cette classe qui possède le listener correspondant aux mouvements du Thumb.
Bref je te conseille de décompresser l'archive src.zip se trouvant à la racinde de ton JDK et d'aller t'instruire en lisant le code de la classe BasicSliderUI pour voir comment se déroule le procédé. Tout ce qui t'intéresse se passe dans la classe interne TrackListener.
Partager