【问题标题】:LWUIT TextArea NullPointerExceptionLWUIT TextArea NullPointerException
【发布时间】:2013-05-16 06:44:35
【问题描述】:

我运行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)
  ...

【问题讨论】:

    标签: java-me lwuit


    【解决方案1】:

    您可以检查以下代码:

    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) {
        }
    }
    

    【讨论】:

    • 对不起,我在诺基亚 s40 sdk 2.0 中运行它。当我运行大多数包含 TextArea 的代码时,出现异常;
    • 即使我在诺基亚 SDK 2.0 上进行测试,我也成功获得了结果
    • 我说它不是 TextArea 的全部示例。异常是我重新编码的真实异常。请导入“\Nokia_SDK_2_0_Java\plugins\lwuit\examples\LWUITDemo”并运行它。我只想知道如何防止我列出的异常。
    【解决方案2】:

    代码对我来说看起来不错。请检查getAboutText() 是否返回一个字符串并且不返回null。

    如果这没有帮助,您可以使用 LWUIT-Sources 来调试您的代码。在 TextArea.shouldShowHint 处设置断点并找出它是什么为 null。

    【讨论】:

      【解决方案3】:

      检查

      导入 com.sun.lwuit.TextArea;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多