Java Swing - Dibujo marcadores en JSlider
Pregunta
Tengo una barra de progreso que hereda de JSlider para proporcionar destacando funcionalidad. Destacados se puede añadir a la barra deslizante en un punto (y un color) y éstas son luego pintada sobre el control. Como sigue:
http://img101.imageshack.us/img101/7608/sliderexample.png
El problema es que no puedo conseguir los Lo más destacado en el lugar correcto, tienen que estar en la misma ubicación que los marcadores. Asimismo, no sé cómo recuperar los márgenes izquierdo y derecho de éstos empiezan y terminan los marcadores.
¿Hay alguna forma de obtener las coordenadas de cada marcador? O tal vez una mejor manera de llevar a cabo esta tarea?
Muchas Gracias!
Solución
Esto depende del Look & Feel y hay una buena probabilidad de que no hay ningún marcador en absoluto cuando el usuario utiliza algunos no estándar L & F. De hecho, el problema es a la vez una extensión de funcionalidad y realización gráfica lo que puede tener que tocar tanto, JSlider y SliderUI.
Tenga en cuenta los siguientes métodos:
javax.swing.JSlider.getMajorTickSpacing()
javax.swing.JSlider.getMinorTickSpacing()
Además, puede ayudar a mirar en javax.swing.plaf.SliderUI
y las clases se extienden, sobre todo
javax.swing.plaf.basic.BasicSliderUI.paintTicks(java.awt.Graphics)
javax.swing.plaf.basic.BasicSliderUI.xPositionForValue(int)