Въведение в BorderLayout в Java

BorderLayout в Java или Layout manager е обект, който има всеки контейнерен обект, който контролира неговото оформление, т.е. размер и положение на компонентите. На лаински език тези мениджъри на оформлението се използват за подреждане на компонентите по определен или специфичен начин. 'LayoutManager' може да се каже като интерфейс, който се реализира от всичките му класове. Има някои класове AWT и SWING, които са предоставени като мениджъри на оформление за общо ползване. Някои от тях са изброени по-долу:

  1. BorderLayout
  2. BoxLayout
  3. SpringLayout
  4. FlowLayout
  5. GroupLayout
  6. GridLayout и т.н.

Преди да преминете към BorderLayout нека да обсъдим някои въпроси.

Почти всичко в компютърния свят е организирано йерархично или за по-добро съхранение, или за създаване на лесна система за извличане. Мениджърите на оформлението, използвани за създаване на графични интерфейси, използващи налични класове AWT, са част от една такава йерархична система. Тя върви под името Containment Hierarchy. Въпреки че фокусът на тази статия ще бъде върху един от наличните LayoutManager, известен като BorderLayout, преди това трябва да знаем къде BorderLayout стои в тази йерархия. Нашата дървовидна структура, която преминава през рамки, GUI компоненти, контейнери и т.н. Започва с:

  1. Първо, контейнер от първо ниво или клас от контейнери от най-високо ниво, като JFrame, JApplet или JDialog, който действа като „ROOT“ на тази йерархия на съдържанието.
  2. Второ, за да може даден компонент да се появи като GUI компонент на екрана, той трябва да бъде включен в йерархията на съдържанието.
  3. Трето, един компонент трябва да бъде или да се съдържа само в един контейнер.
  4. Четвърто, всеки контейнер от най-високо ниво ще има прозорец със съдържание, слабо казано, всеки видим графичен интерфейс (пряко или косвено) се съдържа в този панел със съдържание.

Какво е BorderLayout?

Класът BorderLayout е един от класовете на мениджъра на оформления, който се счита за подразбиращо се оформление за обекти на прозореца. Обектите на прозореца като JFrame, JWindow, JDialog използват този клас за показване като GUI компоненти. BorderLayout се използва за оформление на контейнер, т.е. подреждане и преоразмеряване на неговите компоненти. Графичното оформление подрежда тези компоненти в пет различни региона. От пет, четири области или области са посочени като север, юг, изток и запад, а средният регион е център. Всеки регион може да съдържа само един компонент. Графичното оформление осигурява колекция от константи, използвани за позициониране на компоненти. Обсъдените тук региони са идентифицирани със съответна константа, наречена СЕВЕР, ЮГ, ИЗТОК, ЗАПАД и константата за средния регион като ЦЕНТЪР. Ние използваме тези константи, докато добавяме компонент, използвайки оформление на границите. Константи за всеки регион, използван в нашия код, са изброени по-долу:

  • публичен статичен финал int СЕВЕР: Константата на разположение на север в горната част на контейнера.
  • публичен статичен краен int ЮГ: Константата на оформление на юг в дъното на контейнера.
  • public static final int CENTER: Константата на оформлението на центъра в средата на контейнера.
  • публичен статичен финал WEST: Константата на оформлението на Запад вдясно от контейнера.
  • public static final int EAST: Константата на разположението на Изток вляво от контейнера.

В допълнение към гореизброените константи, BorderLayout предоставя и други константи за позициониране, като PAGE_START, PAGE_END и т.н.

Конструктори на BorderLayout

BorderLayout Конструкторите се използват за създаване на нови оформления на граници с пропуски или без пропуски между компонентите. Конструкторът на граници използва параметри на празнина и празнина, за да посочи хоризонтални празнини и вертикални празнини между компонентите. По-долу са разгледани конструкторите на граници:

Ще ги обсъдим един по един заедно с техните примери.

1. BorderLayout ()

BorderLayout Class се използва за създаване на оформление на граници, но без пропуски между компонентите. Следва примерен код, използващ конструктора BorderLayout (). Следващата програма създава компоненти в JFrame, чийто клас екземпляр е 'border'. Можете да видите на екрана по-долу (след кода) има пет региона.

Нашият код създаде пет региона, използвайки пет JButton и след това те се добавят към оформлението или JFrame с помощта на метод add (). Размерът и видимостта се определят отделно за JFrame. метод setSize () се използва за задаване на размер за рамката и методът на зададената видимост () се използва за задаване на видимостта на рамката.

код

//Java Program illustrating the BorderLayout
import java.awt.*;
import javax.swing.*;
public class border
(
JFrame JF;
border()
(
JF=new JFrame(); //JFrame object
//Lying at top, will be the button named 'North'
JButton b1=new JButton("NORTH");
//Lying at bottom, will be the button named 'South'
JButton b2=new JButton("SOUTH");
//Lying at left, will be the button named 'East'
JButton b3=new JButton("EAST");
//Lying at right, will be the button named 'West'
JButton b4=new JButton("WEST");
//In the center, will be the button named 'Center'
JButton b5=new JButton("CENTER");
//Adding our buttons
JF.add(b1, BorderLayout.NORTH);
JF.add(b2, BorderLayout.SOUTH);
JF.add(b3, BorderLayout.EAST);
JF.add(b4, BorderLayout.WEST);
JF.add(b5, BorderLayout.CENTER);
//Function to set size of the Frame
JF.setSize(300, 300);
//Function to set visible status of the frame
JF.setVisible(true);
)
//Driver Code
public static void main(String() args)
(
//Calling the constructor
new border();
)
)

На снимката по-долу можете да видите как изглежда кодът в текстовия редактор. Използвал съм Eclipse като мой текстов редактор.

Когато кодът работи, се показва следният изход

изход:

2. BorderLayout (int hgap, int vgap)

BorderLayout (int hgap, int vgap) се записва също като BorderLayout (int, int) се използва за създаване на оформление на граница с дадените хоризонтални (hgap) и вертикални (vgap) пропуски или интервали между следното е примерен код, използващ BorderLayout ( int, int) конструктор. Следващата програма създава компоненти в JFrame, чийто клас екземпляр е 'border' по подобен начин като по-горе, но с вертикални и хоризонтални пропуски. Можете да видите на екрана по-долу (след кода).

Нашият код създаде пет региона с пропуски между тях, използвайки параметри vgap и hgap в BorderLayout (). Размерът и видимостта отново се определят отделно за JFrame. метод setSize () се използва за задаване на размер за рамката и методът на зададената видимост () се използва за задаване на видимостта на рамката.

Можете да видите кода за генериране на рамка с помощта на BorderLayout с параметри vgap и hgap, създавайки пропуски или интервали между регионите е показан по-долу:

код

//Java Program illustrating the BorderLayout with SPACES between COMPONENTS
import java.awt.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Color;
public class borderlayout_spaces extends Frame
(
public borderlayout_spaces(String title)
(
super(title);
setLayout(new BorderLayout(20, 30));
//setBackground(Color.RED);
//Lying at top, will be the button named 'North'
JButton b1=new JButton("North");
add(b1, BorderLayout.NORTH);
//Lying at left, will be the button named 'East'
JButton b2=new JButton("EAST");
add(b2, BorderLayout.EAST);
//In the center, will be the button named 'Center'
JButton b3=new JButton("CENTER");
add(b3, BorderLayout.CENTER);
//Lying at right, will be the button named 'West'
JButton b4=new JButton("WEST");
add(b4, BorderLayout.WEST);
//Lying at bottom, will be the button named 'South'
JButton b5=new JButton("SOUTH");
add(b5, BorderLayout.SOUTH);
)
//Driver Code
public static void main(String() args)
(
//Calling the constructor
borderlayout_spaces screen =
new borderlayout_spaces("Border Layout");
screen.setSize(300, 300); //Function to set size of the Frame
screen.setVisible(true); //Function to set visible status of
the frame
)
)

На снимката по-долу можете да видите как изглежда кодът в текстовия редактор.

Кодовият ред, „setLayout (нов BorderLayout (20, 30))“; “определя изхода като изображението, показано по-долу. Тук 20 е хоризонталното пространство, а 30 представлява вертикалното пространство.

Когато кодът работи, се показва следният изход

изход:

Също така можете да опитате други свойства, например да зададете цвят на фона. В горния код, ако видите коментиран кодов ред като „setBackground (Color.RED);“, ако опитате този код с този ред некомментиран, рамката ви ще се покаже както по-долу:

Съществуват и други често използвани методи наред с оформлението на границите, като например:

  1. toString (): Връща низ, който представлява изображение на състоянието на граница.
  2. getVgap (): Връщане на вертикалната празнина между компонента.
  3. getHgap (): Върнете хоризонталната празнина между компонента.
  4. setVgap (int vgap): Използва се за настройка на вертикалната празнина между компонента.
  5. setHgap (int hgap): Използва се за настройка на хоризонталната празнина между компонентите и т.н.

Тази статия обсъжда някои от мощните LayoutManagers, които се използват за оформление на вашите Windows рамки и графични интерфейси. Статията също обхваща оформления на кодове за писане, използвайки два различни конструктора, известни като java.awt.BorderLayout клас и клас java.awt.BorderLayout (int, int) на ръка, което може да бъде предизвикателство. Но трябва да опитате и да го пуснете. Ако не, можете да опитате да използвате java.awt.GroupLayout мениджър на оформлението. Можете да използвате инструмент за изграждане също заедно с вашия мениджър за оформление, например NetBeans IDE, който е чудесен инструмент за създаване на вашия GUI.

Препоръчителни статии

Това е ръководство за BorderLayout в Java. Тук обсъждаме въведение към BorderLayout в Java, BorderLayout Constructors с кодове и изходи. Можете също да разгледате и другите ни свързани статии, за да научите повече-

  1. Оформление в Java
  2. Разпределение на мрежата в Java
  3. Променливи в Java
  4. Копиране на конструктор на Java
  5. HTML оформление