Java/Swing音量滑块

Java/Swing音量滑块,java,swing,user-interface,jslider,Java,Swing,User Interface,Jslider,我的应用程序的一部分有一个媒体组件,我正在寻找一个可以使用的好的音量滑块,而不是一个看起来有点难看的JSlider(或者说,一个带有自定义视觉效果的扩展JSlider会更好)。我可以写一本,但我真的不想重新发明轮子 就“漂亮”的音量滑块而言,我看到的是类似VLC的线条: 有没有像这样的(免费)组件我已经错过了?Jasper Potts有一篇很好的博客文章,介绍了如何使用Nimbus Look and Feel对滑块进行蒙皮: 下面是它的样子: 通过关注博客文章,在滑块上定制自己的外观并不难。

我的应用程序的一部分有一个媒体组件,我正在寻找一个可以使用的好的音量滑块,而不是一个看起来有点难看的JSlider(或者说,一个带有自定义视觉效果的扩展JSlider会更好)。我可以写一本,但我真的不想重新发明轮子

就“漂亮”的音量滑块而言,我看到的是类似VLC的线条:


有没有像这样的(免费)组件我已经错过了?

Jasper Potts有一篇很好的博客文章,介绍了如何使用Nimbus Look and Feel对滑块进行蒙皮:

下面是它的样子:


通过关注博客文章,在滑块上定制自己的外观并不难。您可能还对我关于在完整代码示例中使用Nimbus Look and Feel的回答感兴趣。

由于您在单击扬声器时需要静音操作,我建议您实现自己的JSlider并将其插入到Look and Feel中;但是,我还强烈建议您重用JSlider实现的BoundedRangeModel

或者,您可以将一个JPanel子类化,并在其内部打包两个小部件;然而,这种技术需要一个中介模式来保持两个小部件的显示与一个共享的BoundedRange模型同步


查看有关制作自定义小部件的旧Sun文档,并使用JSlider的源代码作为起点。这并不像看上去那么难;不过,要做到“恰到好处”确实需要一些时间。

@andrewhompson谢谢,我已经更新了这个问题。我会的!这和VLC媒体播放器上的音量控制一样难看!;)您最好重写
JProgressBar
,进行自定义绘制并添加
MouseMotionListener
~这看起来也很相似。