2011-11-30 68 views
-2

过得好这部分代码NullPointerExceptionJ2ME - 显示java.lang.NullPointerException

public RunningManCanvas(RunningMan midlet) throws Exception { 
    super(true); 
    System.out.println("ERROR"); 

    theDisplay = Display.getDisplay(midlet); 
    theRunningMan = midlet; 
    // Calculate the screen dimensions. 
    DISP_WIDTH = getWidth(); 
    DISP_HEIGHT = getHeight(); 
} 

可能是什么原因?

回答

0

您需要提供更多信息。它可能来自您的超级构造函数,midlet可能为空(我会首先查看),可能会在Display.getDisplay()getWidth()getHeight()中发生奇怪的事情。

1

您发布的代码中NPE的可能来源是Display.getDisplay(midlet)

API docs for this method明确状态:

抛出:
        NullPointerException - 如果m是零以上

m指方法参数。

您可以测试,如果这是由

System.out.println("ERROR"); 

System.out.println("midlet is null: " + (midlet == null); 
扩展日志记录的东西的情况下
相关问题