как показать полосу прокрутки в lwuit форме? - PullRequest
1 голос
/ 19 марта 2012

У меня есть форма 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);

Теперь я бы хотел, чтобы полоса прокрутки была видна внутри контейнера.Но это не работает.Я что-то упускаю?

1 Ответ

0 голосов
/ 19 марта 2012

Граница не очень хороша при прокрутке. По умолчанию формы прокручиваются на оси Y в LWUIT, и вы можете включить / отключить это, используя 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"));
...