Логика слайдера

Рейтинг: 0Ответов: 1Опубликовано: 17.06.2011

У меня есть слайдер (компонент по типу JSlider), который может иметь основные засечки (длинные вертикальные линии с числом, т.е. соответствующим значением) и между ними малые засечки (короткие вертикальные линии без метки). На слайдере располагаются значения от MIN до MAX, где MIN и MAX - целые неотрицательные числа. Логика программы такова, что периодически (очень часто) значения MAX и MIN изменяются (за один шаг на единицу), минимальный интервал = 1. Как сделать так, чтобы при любом интервале MAX-MIN засечки выглядели нормально? Я пробовал сделать так, чтобы количество основных засечек было всегда равно 5, а малых - 13 (по две малых засечки между основными). Примерно вот так:

alt text

Но это выглядит только тогда, когда интервал MAX-MIN делится либо на 12 (чтобы хорошо выглядели все засечки), либо на 4 (чтобы хорошо выглядели только основные засечки). В остальных случаях засечки очень некрасиво сдвигаются. Хуже всего с простыми числами :(

Ответы

Ответов пока нет.