读书人

请教在同一个事件处理中,能把事件源强

发布时间: 2011-11-23 23:51:20 作者: rapoo

请问在同一个事件处理中,能把事件源强制转换为不同的事件源类型吗?
请问在同一个事件处理中,能把事件源强制转换为不同的事件源类型吗?
例如
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();
}
}
改成这样就可以了

读书人网 >J2SE开发

热点推荐