我正在为学校项目使用Java编写一个非常基本的音乐播放器,并希望通过实现音量滑块来增加一些亮点。基本上,我按步骤阅读了如何做,并且确实起作用,但有一个元素我真的不理解,那就是
(JSlider)event.getSource();
方法。我不明白的是似乎需要类型转换。为什么我需要将event.getSource()强制转换为JSlider?而且,由于ChangeEvent和JSlider没有(据我所知)子类/超类关系,我又如何进行转换呢?
以下是完整代码:
public void stateChanged(ChangeEvent event)
{
JSlider source = (JSlider)event.getSource();
int volume = source.getValue();
setVolume(volume);
}