2017-05-04 28 views
1

J'utilise plusieurs objets JSlider positionnés horizontalement dans mon application Java et je voudrais aligner leurs extrémités gauche et droite verticalement. Cela signifie que chaque fois que deux boutons sont positionnés à l'extrémité gauche de leur piste, le bouton supérieur doit être exactement au-dessus du bouton inférieur, sans déplacement dans la direction horizontale.Comment aligner verticalement deux objets JSlider indépendamment des étiquettes de graduation

Le problème que j'ai actuellement est que de longues étiquettes aux graduations à l'extrémité gauche ou droite d'une piste diminuent la longueur de la piste et ne permettent pas un bon alignement. À titre d'exemple, l'image suivante:

JSlider alignment problem example

Est-ce que quelqu'un sait comment aligner verticalement les pistes de deux objets JSlider en position horizontale labels indépendants de leur tick? Une solution pour mon problème pourrait être d'aligner à gauche/aligner à droite les étiquettes à la fin de la piste (c'est-à-dire que l'étiquette de la coche gauche est alignée à gauche sur sa coche), mais je ne l'ai pas trouvé. comment je pourrais faire ça. Peut-être qu'il y a aussi une meilleure solution à laquelle je n'ai pas pensé.

Merci, Sandreal

Répondre

0

Je ne pense pas que les étiquettes JSlider sont accessibles de telle sorte que vous pouvez modifier leur emplacement, donc au lieu vous devez créer des étiquettes séparées et la position vous-même, par rapport à la JSlider, vous peut être sûr qu'ils ne vont pas affecter le JSlider (en fonction de votre gestionnaire de disposition).

+0

Bon point! Je n'ai jamais pensé à ça ... Je vais essayer et vous donner quelques retours si c'est facile de le faire comme ça ou pas. – Sandreal

+0

Oui, ça marche très bien, merci! J'ai défini slider.setPaintLabels sur false et ajouté des étiquettes aux emplacements souhaités. Je pense que GroupLayout est un bon choix pour un positionnement facile. – Sandreal