Есть ли способ перевернуть JSlider так, чтобы стрелка ползунка указывала вверх?

Я пытался найти способ сделать это какое-то время и не могу понять это. Я знаю, что вы можете изменить ориентацию JSlider, используя setOrientation(HORIZONTAL|VERTICAL), и что вы также можете инвертировать масштаб, используя setInverted(true). Моя проблема заключается в следующем:

1) JSlider должен быть горизонтальным;
2) JSlider должен быть ниже данных;
3) Стрелка (остроконечный наконечник) на самом слайдере должна указывать вверх, а не вниз (то есть: к данным).

Единственный способ понять это - переписать метод paintComponent из JComponent и полностью перекодировать его для пользовательского JSlider, что кажется немного нелепым, и я даже не уверен, что это сработает.

Спасибо за помощь!

1 ответ

Решение

Вы можете переопределить миниатюру, используемую в UIManager. Как скрыть ручку jSlider?

UIManager.getLookAndFeelDefaults().put(
    "Slider.horizontalThumbIcon",
    new Icon('your_icon')
);

Тем не менее, это будет сделано для всех ползунков в вашей программе.

Другие вопросы по тегам