我构建了一个接口,当我调用actionPerformed方法时,它给了我错误。
我的方法:
public void actionPerformed(ActionEvent evento){
Button active;
active = (Button) evento.getSource(); //line 144
if(active==botonSalir)
mainF.dispose();
...
}
主要方法:
public static void main(String [] args){
InterfaceE objetoM = new InterfaceE();
objetoM.actionPerformed(); //line 195
}
我得到的错误是:
Exception in thread "main" java.lang.NullPointerException
at InterfaceE.actionPerformed(InterfazceE.java:144)
at InterfaceE.main(InterfaceE.java:195)
InterfaceE()
中的参数应该是什么?
答案 0 :(得分:-1)
当未分配Interfaz对象时,您必须调用Interfaz
的方法,或者actionPerformed()
方法中的方法必须为null。 objectM
不是null
,因为我可以看到代码。但是您没有粘贴actionPerformed()
方法的代码。让我们看一下actionPerformed()
方法中的代码,以便我们为您提供准确的答案。
更新。
您是否因为没有调用compile time
方法而得到acionPerformed
错误? actionPerformed
必须使用anonymous
类的ActionEvent
对象,并且已实施getSource()
方法。您没有在ActionEvent
方法中发送actionPerformed
匿名对象作为参数。
你的代码是否在行号。 195看起来像,
objetoM.actionPerformed(new ActionEvent(){ //this is your line 195 for anonymous object.
public ReturnType getSource(){
// some code
}
}
);