Java / Swing Volume Slider - PullRequest
       5

Java / Swing Volume Slider

4 голосов
/ 14 февраля 2012

Часть моего приложения имеет медиа-компонент, и я ищу хороший слайдер громкости, который я могу использовать, а не JSlider, который выглядит немного уродливо для этой цели (или, в частности, было бы неплохо использовать расширенный JSlider с пользовательскими визуальными элементами).Я мог бы написать один, но на самом деле я не хочу изобретать велосипед.

С точки зрения «хороших» ползунков громкости - я смотрю на что-то вроде VLC:

VLC volume slider

Есть ли такой (бесплатный) компонент, как этот, который я уже пропустил?

Ответы [ 2 ]

2 голосов
/ 14 февраля 2012

У Джаспера Поттса есть хороший пост в блоге о том, как сделать скин для слайдера с помощью Nimbus Look and Feel: Создание скина для слайдера с помощью Nimbus .

Вот как это выглядит:

enter image description here

Следуя сообщению в блоге, нетрудно создать свой собственный внешний вид на слайдере. Вас также может заинтересовать мой ответ о настройке JScrollPane с использованием Nimbus Look and Feel с примером полного кода.

0 голосов
/ 30 августа 2013

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

Или вы можете создать подкласс JPanel и упаковать в него два виджета; однако для этого метода потребуется шаблон-посредник, чтобы синхронизировать два отображения виджета с одним общим BoundedRangeModel.

Посмотрите старую документацию Sun о создании пользовательских виджетов и используйте исходный код JSlider в качестве отправной точки. Это не так сложно, как может показаться; однако, это займет некоторое время, чтобы сделать это "правильно".

...