当前位置: 代码迷 >> J2SE >> 请教在同一个事件处理中,能把事件源强制转换为不同的事件源类型吗
  详细解决方案

请教在同一个事件处理中,能把事件源强制转换为不同的事件源类型吗

热度:60   发布时间:2016-04-24 13:51:58.0
请问在同一个事件处理中,能把事件源强制转换为不同的事件源类型吗?
请问在同一个事件处理中,能把事件源强制转换为不同的事件源类型吗?
例如
public   void   actionPerformed(ActionEvent   e)
{
MenuItem   mi=(MenuItem)e.getSource();
Button   bt=(Button)e.getSource();
}
这样有错误吗

------解决方案--------------------
会有错,classcast错。在强制转型前要先进行类型判断。

public void actionPerformed(ActionEvent e)
{
if(e.getSource() instanceof MenuItem){
MenuItem mi=(MenuItem)e.getSource();
} else if(e.getSource() instanceof Button) {
Button bt=(Button)e.getSource();
}
}
改成这样就可以了
  相关解决方案