我运行LWUITDemo,有些UI无法显示成功。所有这些都是Form包含的TextArea。如果我将TextArea更改为Label,它运行良好。
抱歉,我在诺基亚s40 sdk 2.0中运行它。当我运行包含TextArea的大多数代码时,会出现异常;
代码(来自LWUITDemo):
Form aboutForm = new Form("About");
aboutForm.setScrollable(true);
aboutForm.setLayout(new BorderLayout());
TextArea aboutText = new TextArea(getAboutText(), 5, 10);
aboutText.setEditable(false);
aboutForm.addComponent(BorderLayout.CENTER, aboutText);
aboutForm.show();
当我运行它时,它会失败:
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)
...
答案 0 :(得分:2)
您可以查看以下代码:
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) {
}
}
答案 1 :(得分:0)
代码对我来说很好看。请检查getAboutText()
是否返回String并且不返回null。
如果这没有帮助,您可以使用LWUIT-Sources来调试代码。在TextArea.shouldShowHint上设置一个断点,找出它是什么。
答案 2 :(得分:0)
检查
import com.sun.lwuit.TextArea;