2010-03-12 73 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