2010-03-12 4 views
0

У меня есть индикатор выполнения, который наследует от JSlider, чтобы обеспечить функцию подсветки. Основные моменты могут быть добавлены к ползунку в точке (и цвету), и затем они окрашиваются в элемент управления. Как следует:Java Swing - Маркеры рисования на JSlider

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

Проблема заключается в том, что я не могу получить основные моменты в нужном месте, они должны быть в том же месте, что и маркеры. Я также не знаю, как получить левое и правое поля, где начинаются и заканчиваются маркеры.

В любом случае, чтобы получить координаты каждого маркера? Или, может быть, лучший способ выполнить эту задачу?

Большое спасибо!

ответ

2

Это зависит от Look & Почувствуйте, и есть хорошая вероятность, что нет никаких маркеров вообще, когда пользователь использует нестандартные L & F. На самом деле, ваша проблема - это как расширение функциональности, так и так что вам, возможно, придется прикоснуться как к JSlider, так и к SliderUI.

Обратите внимание на следующие методы:

Кроме того, это может помочь разобраться в javax.swing.plaf.SliderUI и классы распространив его, особенно

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

Я, конечно, взглянуть на BasicSliderUI. Большое спасибо. –

Смежные вопросы