JAVA - 从 JSlider 中删除并复制 ChangeListener
JAVA - remove and copy a ChangeListener from a JSlider
我在使用音量控制滑块时遇到问题。
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。
有什么想法吗?
尝试将语句更改为:
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);
我在使用音量控制滑块时遇到问题。
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。
有什么想法吗?
尝试将语句更改为:
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);