Как разместить компоненты перед другой? - PullRequest
2 голосов
/ 06 января 2012

Я хочу разместить компоненты A и B над компонентом с помощью List. Мне нужно, чтобы текст списка был виден. Я не могу найти, какой макет может это сделать. Как это поведение в lwuit? Какие решения существуют?

enter image description here

Ответы [ 2 ]

4 голосов
/ 08 января 2012

Вопрос несколько неясен, ответ jmunoz верен, если вы хотите, чтобы компоненты A и B находились внизу экрана, а список прокручивался выше.Однако из рисунка кажется, что вам нужен эффект «всегда сверху», которого вы можете достичь либо через стеклянную панель (для неинтерактивных компонентов), либо через класс LayeredLayout.

Это на самом деле довольно простоиспользуя следующее:

myForm.setLayout(new LayeredLayout());
myForm.setScrollable(false);

// will occupy the entire area of the form but should be scrollable
myForm.addComponent(componentUnderneath);
Container south = new Container(new BorderLayout());
myForm.addComponent(south);
south.addComponent(BorderLayout.SOUTH, whateverYouWantToPlaceOnTopInTheSouth);
1 голос
/ 07 января 2012

Вы должны сделать следующее:

Form не должен выполнять прокрутку. Используйте Form.setScrollable(false). Установите макет «Формы» на BORDER_LAYOUT, myForm.setLayout(new BorderLayout()). Хорошо, в BorderLayout вы можете поместить компоненты в Form, как хотите.

Поместите компонент List в центр BorderLayout с помощью myForm.addComponent(BorderLayout.CENTER, List), а два других элемента на юге макета, используя

Container southContainer = new Container();
southContainer.addComponent(A);
southContainer.addComponent(B);
myForm.addComponent(BorderLayout.SOUTH, southContainer)

С этим вы можете получить прокручиваемый List и два элемента всегда видимыми.

...