1

私は lwuit フォームを持っています。フォームのレイアウトは BorderLayout に設定されています。次に、コンテナをフォームに追加しました。

すなわち。form.addComponent(BorderLayout.Center, some_CONtainer);

このコンテナは、コンテナ、テキスト領域、ボタンなどのいくつかのアイテムで構成されています。その結果、フォームはモバイル画面をはるかに超えて拡張されます。

フォームが画面からはみ出していることをユーザーが認識できるように、フォームに垂直スクロール バーを表示するにはどうすればよいですか?

現在、スクロールバーは表示されていません。どうすればいいですか?

これは私が試したものです:

Form myForm = new Form("xyz");
myForm.setScrollable(false);

Container container = new Container();
TextArea message = new TextArea("A very long message here which goes beyond the screen length");

container.setLaynout(new BoxLayout(BoxLayout.Y_axis));
container.add(message);
container.add(new RadioButton("a1"));
container.add(new RadioButton("a2"));
container.add(new RadioButton("a3"));
container.add(new RadioButton("a4"));
container.add(new RadioButton("a5"));
container.add(new RadioButton("a6"));
container.add(new RadioButton("a7"));
container.add(new Button("press me"));
myform.addComponenet(container);
container.setScrollable(true);

ここで、コンテナー内にスクロール バーが表示されるようにします。しかし、それは機能していません。私は何かを見逃していますか?

4

1 に答える 1

0

ボーダー レイアウトは、スクロールがあまり得意ではありません。デフォルトでは、フォームは LWUIT の Y 軸でスクロール可能であり、これをsetScrollableY(true/false);適切に使用して有効/無効にすることができます。

質問を完全に変更してから編集しましたが、あなたが何をしようとしているのかさえわかりません。このコードは、すべてのフープなしで達成しようとしているように見えます。

Form myForm = new Form("xyz");

TextArea message = new TextArea("A very long message here which goes beyond the screen length");

myForm.setLaynout(new BoxLayout(BoxLayout.Y_axis));
myForm.add(new RadioButton("a1"));
myForm.add(new RadioButton("a2"));
于 2012-03-19T14:22:15.647 に答える