Comme expliqué dans le titre, j'ai fait un simple JSlider, et j'ai réussi à définir une valeur minimum et maximum, et un espacement de coche mineur, puis j'ai mis le "setSnapToTicks" à true. Aucun problème avec cette partie, mon bouton bouge sur le tick le plus proche lorsque l'utilisateur lâche la souris, ça ne peut pas être plus facile.JSlider: impossible de faire bouger le bouton sur la coche la plus proche pendant le glissement
Mais maintenant je veux obtenir cet effet sans relâcher la souris, le bouton doit se déplacer en tic tac sans faire attention aux valeurs entre ces ticks, je veux qu'il "saute" uniquement sur les valeurs de ticks. Je viens de faire de nombreuses recherches, et je n'ai pas trouvé la réponse, je viens de parler de "setExtent", qui est censé définir le genre d'étape que je cherche, mais cela n'a pas fonctionné après un débogage. Voici ma simple déclaration du JSlider:
sliderFlightLevel = new JSlider();
sliderFlightLevel.setValue(100);
sliderFlightLevel.setMinorTickSpacing(100);
sliderFlightLevel.setMinimum(100);
sliderFlightLevel.setMaximum(50000);
GridBagConstraints gbcSliderFlightLevel = new GridBagConstraints();
gbcSliderFlightLevel.gridwidth = 3;
gbcSliderFlightLevel.insets = new Insets(0, 10, 5, 10);
gbcSliderFlightLevel.fill = GridBagConstraints.HORIZONTAL;
gbcSliderFlightLevel.gridx = 0;
gbcSliderFlightLevel.gridy = 1;
mainPanel.add(sliderFlightLevel, gbcSliderFlightLevel);
Merci pour la lecture, j'espère que je vais obtenir de l'aide :)
Comme mentionné dans ma réponse, le comportement serpentine dépend certainement du look & feel que vous utilisez. Pourriez-vous nous dire lequel vous utilisez? – barjak
Il ressemble au noyau de métal sur le lien que vous avez posté. C'est ce que vous devez savoir? (Je suis désolé mais je travaille sur un grand projet existant et je n'ai pas pris soin de toutes les spécifications graphiques qui sont déjà développées en) – StarBuzz
Oui, c'est l'information dont j'ai besoin. C'est logique, parce que Metal est le look par défaut (mais malheureusement moche!). – barjak