|
||||||||
Программирование мобильных телефонов
Программирование на Java самые популярные сайты даркнета Нажмите что бы посмотреть отзывы. RuTor— Черный форум русского даркнета.
|
Менеджер BorderLayout Менеджер размещения BorderLayout делит контейнер на пять неравных областей, полностью заполняя каждую область одним компонентом, как показано на рис. 11.2. Области получили географические названия NORTH, SOUTH, WEST, EAST И CENTER. Метод add о в случае применения BorderLayout имеет два аргумента: ссылку на компонент сотр и область region, в которую помещается компонент — одну из перечисленных выше констант: add(Component comp, String region) Обычный метод add (Component comp) с одним аргументом помещает компонент В область CENTER . В классе два конструктора:
Если в контейнер помещается менее пяти компонентов, то некоторые области не используются и не занимают места в контейнере, как можно заметить на рис. 11.3. Если не занята область CENTER , то компоненты прижимаются к границам контейнера. В листинге 11.2 создаются пять кнопок, размещаемых в контейнере. Заметьте отсутствие установки менеджера в контейнере setLayout () — менеджер BorderLayout установлен в контейнере Frame по умолчанию. Результат размещения показан на рис. 11.2. Листинг 11.2. Менеджер размещения BorderLayout import java.awt.*; import ]ava.awt.event.* ; class BorderTest extends Frame{ BorderTest(String s){ super(s); add(new Button("North"), BorderLayout.NORTH); add(new Button("South"), BorderLayout.SOUTH); add(new Button("West"), BorderLayout.WEST); add(new Button("East"), BorderLayout.EAST); add(new Button("Center")); setSize(300, 200); setVisible(true); } public static void main(String[] args){ Frame f= new BorderTest(" Менеджер BorderLayout"); f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent ev){ System.exit(0); } }); } }
Рис. 11.2. Области размещения BorderLayout Менеджер размещения BorderLayout кажется неудобным: он располагает не больше пяти компонентов, последние растекаются по всей области, области имеют странный вид. Но дело в том, что в каждую область можно поместить не компонент, а панель, и размещать компоненты на ней, как сделано в листинге 11.3 и показано на рис. 11.3. Напомним, что на панели Panel менеджер размещения по умолчанию FiowLayout. Листинг 11.3. Сложная компоновка import j ava.awt.*; import java.awt.event.*; class BorderPanelTest extends Frame{ BorderPanelTest(String s){ super(s); // Создаем панель р2 с тремя кнопками Panel p2 = new Panel(); p2.add(new Button("Выполнить")); p2.add(new Button("Отменить")); p2.add(new Button("Выйти")); Panel pi = new Panel (); pi.setLayout(new BorderLayout()); // Помещаем панель р2 с кнопками на "юге" панели р1 p1.add(p2, BorderLayout.SOUTH); // Поле ввода помещаем на "севере" p1.add(new TextFieldt"Поле ввода", 20), BorderLayout.NORTH); // Область ввода помещается в центре p1.add(new TextArea("Область ввода", 5, 20, TextArea.SCROLLBARS_NONE), BorderLayout.CENTER); add(new Scrollbar(Scrollbar.HORIZONTAL), BorderLayout.SOUTH); addfnew Scrollbar(Scrollbar.VERTICAL), BorderLayout.EAST); // Панель p1 помещаем в "центре" контейнера add(p1, BorderLayout.CENTER); setSizePOO, 200); setVisible(true) ; } public static void main(String[] args){ Frame f= new BorderPanelTest(" Сложная компоновка"); f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent ev){ System.exit(0); } }); } }
Рис. 11.3. Компоновка с помощью FiowLayout и BorderLayout
|
|
||||||
Copyright © vzlom-1.ru 2020-2023
|