Отображение оповещения с многострочным сообщением внутри формы 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);
Ссылка: оповещение всплывает с 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/ никогда не открывается!!!!!!!
1 ответ
l.setTextEditorEnabled(false);
останавливает исключение (получил подсказку, просматривая файл.class используемого мной фляги)
Вероятно, никогда не видел API хуже, чем этот.
Чтобы удалить белый фон TextArea, мне пришлось переопределить его onPaint и залить графику другим цветом.