在lwuit表单中显示多行消息的提醒

问题描述:

当我试图在lwuit表单上显示对话框提醒时,我收到了一个奇怪的异常。在lwuit表单中显示多行消息的提醒

java.lang.NullPointerException 
    at com.sun.lwuit.TextArea.shouldShowHint(+21) 
    at com.sun.lwuit.TextArea.calcPreferredSize(+4) 
    at com.sun.lwuit.Component.preferredSize(+63) 
    at com.sun.lwuit.Component.getPreferredSize(+4) 
    at com.sun.lwuit.Component.getPreferredW(+4) 
    at com.sun.lwuit.layouts.FlowLayout.layoutContainer(+139) 
    at com.sun.lwuit.Container.doLayout(+8) 
    at com.sun.lwuit.Container.layoutContainer(+16) 
    at com.sun.lwuit.Container.doLayout(+40) 
    at com.sun.lwuit.Container.layoutContainer(+16) 
    at com.sun.lwuit.Container.doLayout(+40) 
    at com.sun.lwuit.Container.layoutContainer(+16) 
    at com.sun.lwuit.Container.revalidate(+18) 
    at com.sun.lwuit.Dialog.showPacked(+107) 
    at com.sun.lwuit.Dialog.showImpl(+76) 
    at com.sun.lwuit.Dialog.show(+5) 
    at com.sun.lwuit.Dialog.showDialog(+9) 
    at com.test.MainView.ShowAlert(+82) 
    at com.test.MainView.ShowGameOverAlert(+45) 
    at com.test.MainView.<init>(+209) 
    at com.test.Main.startApp(+29) 
    at javax.microedition.midlet.MIDletProxy.startApp(+7) 

我用以下两件代码:

Dialog validDialog = new Dialog("Alert"); 
validDialog.setScrollable(false); 
validDialog.setIsScrollVisible(false); 
validDialog.setTimeout(5000); // set timeout milliseconds 
TextArea textArea = new TextArea("...."); //pass the alert text here 
textArea.setFocusable(false); 
textArea.setIsScrollVisible(false); 
validDialog.addComponent(textArea); 
validDialog.show(0, 100, 10, 10, true); 

参考:Alert pop up with LWUIT

Dialog d = new Dialog(title); 
TextArea l = new TextArea(1, 20); 
l.setText(message); 
l.setHint("no hint"); 
l.setSingleLineTextArea(false); 
l.setEditable(false); 
l.setGrowByContent(true); 

d.addComponent(l); 
d.setDialogType(Dialog.TYPE_INFO); 
d.setDialogPosition(BorderLayout.CENTER); 
d.showDialog(); 

如果有人能指出我LWUIT的源代码,它将是最有帮助的。
我发现一个名为lwuitfixes的项目在google代码上没有任何函数'shouldShowHint'里面的TextArea.java和官方网站https://lwuit-incubator.dev.java.net/永远不会打开!!!!!!!

+0

LWUIT孵化器不是官方网站。甲骨文转移了网站去除dev这个词。它的lwuit.java.net。 – 2013-03-24 19:42:36

+0

@ShaiAlmog [lwuit.java.net](lwuit.java.net)仍然在标题为“如何贡献?”下显示上述链接的链接。如果可用,请分享链接以下载LWUIT的来源。 – 2013-03-25 08:38:34

+0

在LWUIT项目页面中曾经有一个SVN链接,但Oracle成员似乎完全打破了这个项目。访问源代码似乎不再有效。典型。唯一的来源是Codename One。 – 2013-03-25 12:25:08

l.setTextEditorEnabled(false); 

停止异常。 (通过浏览我正在使用的jar的.class文件得到提示)

可能从来没有见过比这糟糕的API。

要删除TextArea的白色背景,我必须重写它的onPaint并用不同的颜色填充图形。