0

FormLWUITを別の 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

LWUITFormは 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);
...
4

1 に答える 1

2

コンテナにフォームを追加しています。追加先の場所に xxx を追加すると、例外で正しく表示されます。

xxx.show()何にも追加しないで使用してください。

于 2011-11-02T09:51:53.087 に答える