我正在学习的书是通过事件监听器,我对使用 event.getSource() 方法时将 ChangeEvent 对象转换为 JSlider 对象感到困惑。为什么这是必要的?
其次,强制转换或方法调用是否优先?如果 .getSource() 方法是 ChangeEvent 方法,则方法调用似乎首先发生。
我对单行代码表示歉意,但这就是这本书提供的所有内容,除了将 ChangeEvent 转换为 JSlider 的简单明确指示之外:
“使用 ChangeEvent 对象调用此方法,该对象可以识别在 cale 中发生更改的 slider 组件。调用该对象的 getSource() 方法并将该对象转换为 JSlider,如以下语句所示:”(后面是代码下面没有解释为什么要转换它)。
JSlider changedSlider = (JSlider) event.getSource();
最佳答案
这不会将事件转换为 JSlider
。它将事件的源转换为JSlider
。
事件的来源是触发事件的 slider 。
并且转换可能是必要的,因为其余代码需要访问 JSlider
属性/方法。
关于java - 为什么使用 .getSource() 方法时将 ChangeEvent 对象转换为 JSlider?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57638734/