Java me Lwiit TextArea NullPointerException

Java me Lwiit TextArea NullPointerException,java-me,lwuit,Java Me,Lwuit,我运行LWUITDemo,一些UI无法成功显示。它们都是表单中包含的TextArea。如果我将TextArea更改为Label,则工作正常 对不起,我是在诺基亚s40 sdk 2.0中运行的。当我运行大多数包含TextArea的代码时,会出现异常 类似的代码(来自LWUITDemo): 当我运行它时,它失败了: Form: showModal java.lang.NullPointerException at com.sun.lwuit.TextArea.shouldShowHint(+21

我运行LWUITDemo,一些UI无法成功显示。它们都是表单中包含的TextArea。如果我将TextArea更改为Label,则工作正常


对不起,我是在诺基亚s40 sdk 2.0中运行的。当我运行大多数包含TextArea的代码时,会出现异常

类似的代码(来自LWUITDemo):

当我运行它时,它失败了:

Form: showModal
java.lang.NullPointerException
  at com.sun.lwuit.TextArea.shouldShowHint(+21)
  at com.sun.lwuit.TextArea.calcPreferredSize(+4)
  at com.sun.lwuit.Component.preferredSize(+63)
  ...

您可以检查以下代码:

import com.sun.lwuit.Display;
import com.sun.lwuit.Form;
import com.sun.lwuit.TextArea;
import com.sun.lwuit.layouts.BorderLayout;
import javax.microedition.midlet.*;

public class TextMidlet extends MIDlet {

    private Form aboutForm;

    public TextMidlet() {
        Display.init(this);

        aboutForm = new Form();
        aboutForm.setScrollable(true);
        aboutForm.setLayout(new BorderLayout());
    }

    public void startApp() {

        TextArea aboutText = new TextArea("hiiiiiiiiiiiiii", 5, 10);
        aboutText.setEditable(false);
        aboutForm.addComponent(BorderLayout.CENTER, aboutText);
        aboutForm.show();
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}

代码对我来说很好。请检查
getAboutText()
是否返回字符串且不返回null

如果这没有帮助,您可以使用LWUIT源代码调试代码。在TextArea.shouldShowHint设置断点,并找出空值。

检查


导入com.sun.lwuit.TextArea

对不起,我是在诺基亚s40 sdk 2.0中运行的。当我运行大多数包含TextArea的代码时,会出现异常;即使我在诺基亚SDK 2.0上进行了测试,我也获得了成功。我说这并不是TextArea的全部样本。异常是我记录的真实异常。请导入“\Nokia\u SDK\u 2\u 0\u Java\plugins\lwuit\examples\LWUITDemo”并运行它。我只想知道如何防止我列出的异常。
import com.sun.lwuit.Display;
import com.sun.lwuit.Form;
import com.sun.lwuit.TextArea;
import com.sun.lwuit.layouts.BorderLayout;
import javax.microedition.midlet.*;

public class TextMidlet extends MIDlet {

    private Form aboutForm;

    public TextMidlet() {
        Display.init(this);

        aboutForm = new Form();
        aboutForm.setScrollable(true);
        aboutForm.setLayout(new BorderLayout());
    }

    public void startApp() {

        TextArea aboutText = new TextArea("hiiiiiiiiiiiiii", 5, 10);
        aboutText.setEditable(false);
        aboutForm.addComponent(BorderLayout.CENTER, aboutText);
        aboutForm.show();
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}