Использование JSlider для создания выбора даты? - PullRequest
2 голосов
/ 10 января 2012

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

enter image description here

Но я хочу сделать то же самое, используя только один слайдер. Минимальное расстояние между двумя точками (отметка) должно составлять один день. Любые советы, как это реализовать?

Ответы [ 3 ]

3 голосов
/ 10 января 2012

Я не могу представить, как это сделать с одним JSlider, потому что у вас будет куча дней, есть некоторые обходные пути для Double/RangeSlider, но я думаю, что лучше и проще всего было бы реализовать JSpinner с SpinnerDateModel или лучшими вариантами - это поиск Custom Java Calendar или DatePicker

РЕДАКТИРОВАТЬ (@Robin)

enter image description here

3 голосов
/ 10 января 2012

Если вы хотите иметь ползунок с min = 1.1.2012 и max = 10.1.2012, просто создайте ползунок с min = 0 и max = числом дней между ними, затем добавьте выбранное число к 1.1.2012.

Полагаю, 10.1.2012 означает 10 января, поэтому у вашего ползунка будет минимум = 0 и максимум = 9. Затем установите метки соответственно.

2 голосов
/ 11 января 2012

Сначала ответьте на свой вопрос: вы можете просто использовать JSlider, использовать количество дней между датой начала и окончания, чтобы определить диапазон, и использовать пользовательские метки (например, с помощью setLabelTable). метод)

Теперь для удобства, избегайте этого, так как

  1. Никто не знаком с этой концепцией. Каждый сайт / приложение в настоящее время использует текстовое поле, чаще всего в сочетании с виджетом календаря. Это то, что пользователи ожидают, а не слайдер
  2. Из-за ограниченной ширины будет сложно получить все даты в виде меток на слайдере. Это означает, что пользователь должен интерполировать / считать, чтобы выбрать правильную дату
  3. Если вы придерживаетесь ползункового подхода, по крайней мере, подумайте и о добавлении текстового поля. Даже нередактируемое текстовое поле, которое показывает текущую выбранную дату, будет огромным улучшением по сравнению с ползунком (см. Пункт 2)
...