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!

¿Fue útil?

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)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top