Java me Lwiit TextArea NullPointerException
我运行LWUITDemo,一些UI无法成功显示。它们都是表单中包含的TextArea。如果我将TextArea更改为Label,则工作正常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
对不起,我是在诺基亚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) {
}
}