Как разместить компоненты перед другой?

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

2 ответа

Решение

Вопрос несколько неясен, ответ 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);

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

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и два элемента всегда видны.

Другие вопросы по тегам