如何在LWUIT表格中添加LWUIT表格?

时间:2011-11-02 06:27:56

标签: java-me lwuit lwuit-form

我尝试将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 个答案:

答案 0 :(得分:2)

您正在向容器添加表单,当您将xxx添加到将其添加到的任何位置时,将其添加到异常中。

使用xxx.show()不要将其添加到任何内容。