2010-03-12 41 views
0

我有一个进度条,它从JSlider继承来提供突出显示功能。 产品亮点可以添加到一个点(和一个颜色)的滑块,然后这些被绘制到控件上。具体如下:Java Swing - 在JSlider上绘制标记

http://img101.imageshack.us/img101/7608/sliderexample.png

的问题是,我不能让亮点在正确的地方,他们需要在相同的位置标记。我也不知道如何检索标记开始和结束的左右边距。

有无论如何得到每个标记的坐标?或者更好的方式来执行这项任务?

非常感谢!

回答

2

这取决于外观&感觉并且很有可能在用户使用某些非标准L时没有任何标记。事实上,您的问题既是功能的延伸,也是功能的延伸图形实现,因此您可能必须同时触摸JSlider和SliderUI。

注意以下方法:

而且,它可以帮助寻找到javax.swing.plaf.SliderUI和类扩展它,尤其是

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

我一定会看一看的BasicSliderUI。非常感谢你。 – 2010-03-12 15:04:53