Установите размер большого пальца JSlider - PullRequest
10 голосов
/ 22 августа 2011

Как можно настроить размер большого пальца для JSlider?

Со значениями по умолчанию и диапазоном для JSlider, равным 256, ширина большого пальца составляет всего несколько пикселей, что делаетуправлять им довольно сложно.

Я использую внешний вид Windows 7, и ползунок выглядит следующим образом:

Screenshot of slider

Включение paintTicksс большим и второстепенным интервалом между тиками 0 дает лучшее (хотя и не предпочтительное) отображение:

Screenshot of slider with paintTicks enabled

Требуемое отображение показано на следующем изображении - взято из родной Windows 7применение:

Screenshot of native slider

Ответы [ 2 ]

3 голосов
/ 22 августа 2011

Вы можете попробовать настроить внешний вид JSlider следующим образом:

UIDefaults defaults = UIManager.getDefaults();
defaults.put("Slider.thumbHeight", HEIGHT_AS_INTEGER); // change height
defaults.put("Slider.thumbWidth", WIDTH_AS_INTEGER); // change width

Ссылка:

Важно отметить, что эти изменения будут применяться ко всем JSlider экземплярам, ​​что может сделать этот подход нежелательным.

2 голосов
/ 22 августа 2011

Это зависит от SliderUI, который может иметь жестко запрограммированные размеры.Если нет, то можно воспользоваться предложением mre, если вы хотите использовать одинаковый размер большого пальца для всех ползунков.

В качестве альтернативы установке значений по умолчанию для пользовательского интерфейса, который их использует, вы можете определить другой пользовательский интерфейс.для специального слайдера (например, myslider.setUI(new MyCustonSliderUI())), но имейте в виду, что у него есть свои недостатки.

...