Как сделать возможным добавление формы LWUIT внутри формы LWUIT? - PullRequest
0 голосов
/ 02 ноября 2011

Я пытался добавить LWUIT Form в другой LWUIT Form, но получил внутреннюю ошибку во время выполнения:

Installing suite from: http://127.0.0.1:1975/SmartPhoneBanking.jad
java.lang.IllegalArgumentException: A form cannot be added to a container
 - com.sun.lwuit.Container.insertComponentAt(), bci=50
 - com.sun.lwuit.Container.addComponent(), bci=19
 - com.sun.lwuit.Form.addComponent(), bci=5
 - view.test.<init>(), bci=63
 - view.MenuPrincipalForm.actionPerformed(), bci=178
 - com.sun.lwuit.util.EventDispatcher.fireActionSync(), bci=19
 - com.sun.lwuit.util.EventDispatcher.fireActionEvent(), bci=89
 - com.sun.lwuit.Button.fireActionEvent(), bci=70
 - com.sun.lwuit.Button.released(), bci=17
 - com.sun.lwuit.Button.pointerReleased(), bci=1
 - com.sun.lwuit.Form.pointerReleased(), bci=93
 - com.sun.lwuit.Component.pointerReleased(), bci=7
 - com.sun.lwuit.Display.handleEvent(), bci=125
 - com.sun.lwuit.Display.edtLoopImpl(), bci=115
 - com.sun.lwuit.Display.mainEDTLoop(), bci=198
 - com.sun.lwuit.RunnableWrapper.run(), bci=242
 - java.lang.Thread.run(), bci=11
Process exited with exit code 0

Хотя LWUIT Form - это LWUIT Component! Таким образом, addComponent должен работать с LWUIT Form!

Так как сделать это возможным?

коды:

public class test extends Form
{
   private Button b = new Button("xxx");
   public test(String t)
   {
      super(t);
      addComponent(b);
   }
}

В другом Form:

...
private Form xxx = new test("xxx");
...
addComponent(xxx);
...

1 Ответ

2 голосов
/ 02 ноября 2011

Вы добавляете форму в контейнер, говорит это прямо в исключении, когда вы добавляете ххх туда, куда вы ее добавляете.

Используйте xxx.show(), ни к чему не добавляйте.

...