javaswing-JSlider上的绘图标记

javaswing-JSlider上的绘图标记,java,swing,drawing,jslider,Java,Swing,Drawing,Jslider,我有一个从JSlider继承的进度条来提供突出显示功能。可以将高光添加到滑块的某个点(和颜色),然后将其绘制到控件上。详情如下: 问题是我无法在正确的位置获得高光,它们需要与标记位于同一位置。我也不知道如何检索标记开始和结束处的左右边距 有没有办法得到每个标记的坐标?或者是执行这项任务的更好方式 非常感谢 这取决于外观和感觉,当用户使用一些非标准L&F时,很有可能根本没有任何标记。事实上,您的问题是功能的扩展和图形实现,因此您可能需要同时触摸JSlider和SliderUI 请注意以下方法:

我有一个从JSlider继承的进度条来提供突出显示功能。可以将高光添加到滑块的某个点(和颜色),然后将其绘制到控件上。详情如下:

问题是我无法在正确的位置获得高光,它们需要与标记位于同一位置。我也不知道如何检索标记开始和结束处的左右边距

有没有办法得到每个标记的坐标?或者是执行这项任务的更好方式


非常感谢

这取决于外观和感觉,当用户使用一些非标准L&F时,很有可能根本没有任何标记。事实上,您的问题是功能的扩展和图形实现,因此您可能需要同时触摸JSlider和SliderUI

请注意以下方法:

javax.swing.JSlider.getMajorTickSpacing() 
javax.swing.JSlider.getMinorTickSpacing() 
此外,它可能有助于研究
javax.swing.plaf.SliderUI
和扩展它的类,尤其是

javax.swing.plaf.basic.BasicSliderUI.paintTicks(java.awt.Graphics)
javax.swing.plaf.basic.BasicSliderUI.xPositionForValue(int)

我一定要看一下基本滑梯。非常感谢你。