Как разместить компоненты перед другой?
Я хочу разместить компоненты 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
и два элемента всегда видны.