Page 131 - 4836
P. 131
кожну з цих областей можна додати рівно по одному
компоненту, причому компонент буде займати всю відведену
для нього область. Компоненти, додані в верхню і нижню
області, будуть розтягнуті по ширині, додані в праву і ліву -
по висоті, а компонент, доданий в центр, буде розтягнутий
так, щоб повністю заповнити простір панелі.
При додаванні елемента на панель з менеджером
розміщення BorderLayout, необхідно додатково вказувати в
методі add( ), яка з областей мається на увазі. Для цього
служать рядки з назвами сторін світу: "North"(нос),
"South"(саус), "East"(іст), "West" і " Center". Але замість них
рекомендовано використовувати константи, визначені в класі
BorderLayout: NORTH, SOUTH, EAST, WEST і CENTER
(оскільки в рядку можна допустити помилку і не помітити
цього, а при спробі написати неправильно ім'я константи
компілятор видасть попередження). Якщо ж використовувати
метод add() як звичайно, з одним параметром, елемент буде
додано в центр.
Панель вмісту має саме таке розташування, саме тому
кнопка і займала все вікно цілком (вона була додана в
центральну область). Щоб поспостерігати ефект BorderLayout,
додамо кнопки в усі п'ять областей :
package Swing;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.*;
public class SimpleWindow extends JFrame {
SimpleWindow () {
super (" Пробне вікно");
setDefaultCloseOperation (EXIT_ON_CLOSE);
getContentPane().add(new
JButton("Кнопка"),BorderLayout.NORTH);
getContentPane().add(new
JButton("+"),BorderLayout.EAST );
129