我在使用Slider进行音量控制时遇到了问题。
Atm我使用FloatControl处理Audioclip的MasterVolume,对我不好我需要为每个新的AudioClip添加一个新的ChangeListener - 所以我尝试了这个:
JSlider slider_Vol // the Object i use the whole time
JSlider tempSlider // a temporary used Slider i create in an other function
if (slider_Vol.getChangeListeners() != null)
slider_Vol.removeChangeListener(slider_Vol.getChangeListeners()[0]); //Array[0] correct position?
slider_Vol.addChangeListener(tempSlider.getChangeListeners()[0]);
似乎我的If
不起作用,因为当程序启动并且没有创建changelistener时,remove命令已经存在异常。
有什么想法吗?
答案 0 :(得分:1)
尝试将语句更改为:
ChangeListener listener;
if (!slider_Vol.getChangeListeners().length == 0){
listener = slider_Vol.getChangeListeners()[0]
slider_Vol.removeChangeListener(slider_Vol.getChangeListeners()[0]);
} else {
listener = new ChangeListener[your code];
}
slider_Vol.addChangeListener(listener);