Introduksjon til BorderLayout i Java

BorderLayout i Java eller Layout manager er et objekt som alle containerobjekter har, som kontrollerer utformingen, dvs. størrelsen og plasseringen til komponentene. På lekmannsspråk brukes disse Layout Managers for å ordne komponentene på en bestemt eller spesifikk måte. 'LayoutManager' kan sies som et grensesnitt som implementeres av alle klasser. Det er noen AWT- og SWING-klasser som har blitt gitt som layoutadministratorer for generelt bruk. Noen av dem er listet opp nedenfor:

  1. BorderLayout
  2. BoxLayout
  3. SpringLayout
  4. FlowLayout
  5. GroupLayout
  6. GridLayout osv

Før du går til BorderLayout kan vi anta å diskutere noen punkter.

Nesten alt i dataverdenen er hierarkisk organisert enten for bedre lagring eller for å lage et enkelt hentesystem. Layout-ledere som brukes til å lage GUI-er ved å bruke tilgjengelige AWT-klasser, er en del av et slikt hierarkisk system. Det går under navnet Conception Hierarchy. Selv om denne artikkelens fokus vil være på en av de tilgjengelige LayoutManager kjent som BorderLayout, før vi bør vite hvor BorderLayout står i dette hierarkiet. Trestrukturen vår som går gjennom rammer, GUI-komponenter, containere, etc. Starter med:

  1. Først en beholder på toppnivå eller beholderklasse på toppnivå, for eksempel JFrame, JApplet eller JDialog, som fungerer som 'ROOT' i dette inneslutningshierarkiet.
  2. For det andre, for at en komponent skal vises som en GUI-komponent på skjermen, må den inkluderes i inneslutningshierarkiet.
  3. For det tredje må en komponent bare være eller vil være inneholdt i en beholder.
  4. For det fjerde vil hver toppnivåbeholder ha en innholdsrute, løst sett, alle GUI-er synlige (direkte eller indirekte) er inneholdt i denne innholdsruten.

Hva er BorderLayout?

En BorderLayout-klasse er en av layout managerklasser som anses å være standardoppsettet for vinduobjekter. Vinduobjektene som JFrame, JWindow, JDialog bruker denne klassen for å vises som GUI-komponenter. BorderLayout brukes til å lage en container, dvs. arrangere og endre størrelse på komponentene. Grenseoppsettet ordner disse komponentene i fem forskjellige regioner. Av fem er fire regioner eller områder referert til som nord, sør, øst og vest og den midtre regionen omtales som sentrum. Hver region kan inneholde bare en komponent. Grenseoppsettet gir en samling konstanter som brukes til å plassere komponenter. Regionene som er omtalt her identifisert av en tilsvarende konstant som heter NORTH, SOUTH, East, West og konstanten for den midtre regionen som CENTRE. Vi bruker disse konstantene mens vi legger til en komponent ved hjelp av en grenslayout. Konstanter for hver region som brukes i koden vår er listet opp nedenfor:

  • offentlig statisk slutt int NORTH: Den nordlige utformingen på toppen av containeren.
  • offentlig statisk endelig inn SØR: Sør-oppsettet konstant i bunnen av beholderen.
  • public static final int CENTER: Senteroppsettet konstant i midten av beholderen.
  • offentlig statisk endelig int WEST: Vestoppsettet konstant til høyre for containeren.
  • public static final int ØST: Øst-oppsettet konstant til venstre for containeren.

I tillegg til de ovennevnte konstantene, gir BorderLayout også andre posisjoneringskonstanter som PAGE_START, PAGE_END osv.

BorderLayout konstruktører

BorderLayout-konstruktører er vant til å lage nye grenseoppsett med mellomrom eller uten mellomrom mellom komponentene. Konstruktøren for grenslayout bruker gap og gap-parametere for å spesifisere horisontale avstander og vertikale mellomrom mellom komponentene. Konstruktørene for grensesnittet blir diskutert nedenfor:

Vi vil diskutere dem en etter en sammen med eksemplene deres.

1. BorderLayout ()

BorderLayout Class brukes til å lage en grenslayout, men uten mellomrom mellom komponentene. Følgende er et eksempel på en kode som bruker BorderLayout () -konstruktøren. Følgende program oppretter komponenter i en JFrame hvis forekomstklasse er 'border'. Du kan se på skjermdumpen nedenfor (etter koden), det er fem regioner.

Koden vår har opprettet fem regioner ved å bruke fem JButton, og deretter blir disse lagt til i oppsettet eller JFrame ved hjelp av en add () -metode. Størrelsen og synligheten bestemmes separat for JFrame. metoden setSize () brukes til å angi størrelsen for rammen, og den innstilte synligheten () -metoden brukes til å angi synligheten til rammen.

Kode

//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();
)
)

I skjermbildet nedenfor kan du se hvordan koden ser ut i tekstredigereren. Jeg har brukt Eclipse som tekstredigerer.

Når koden kjøres, vises følgende utgang.

Produksjon:

2. BorderLayout (int hgap, int vgap)

BorderLayout (int hgap, int vgap) er også skrevet som BorderLayout (int, int) brukes til å lage et grenslayout med de gitte horisontale (hgap) og vertikale (vgap) mellomrom eller mellomrom mellom følgende er et eksempel på kode ved bruk av BorderLayout ( int, int) konstruktør. Følgende program lager komponenter i en JFrame hvis forekomstklasse er 'border' på en lignende måte som ovenfor, men med vertikale og horisontale hull. Du kan se på skjermdumpen nedenfor (etter koden).

Koden vår har opprettet fem regioner med mellomrom ved hjelp av vgap- og hgap-parametere i BorderLayout (). Størrelsen og synligheten bestemmes igjen separat for JFrame. metoden setSize () brukes til å angi størrelsen på rammen, og den innstilte synligheten () -metoden brukes til å angi synligheten til rammen.

Du kan se koden for generering av en ramme ved hjelp av BorderLayout med vgap- og hgap-parametere, og du oppretter hull eller mellomrom mellom regionene vises nedenfor:

Kode

//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
)
)

I skjermbildet nedenfor kan du se hvordan koden ser ut i tekstredigereren.

Kodelinjen, "setLayout (new BorderLayout (20, 30));" angir utdataene som bildet nedenfor. Her 20 er det horisontale rommet og 30 representerer det vertikale rommet.

Når koden kjøres, vises følgende utgang.

Produksjon:

Du kan også prøve andre egenskaper, for eksempel angi bakgrunnsfarge. I koden over, hvis du ser en kommentert kodelinje som "setBackground (Color.RED);" hvis du prøver denne koden med denne linjen ukommentert, vil rammen vises som nedenfor:

Det er andre ofte brukte metoder ved siden av grensesnittoppsettet, for eksempel:

  1. toString (): Returnerer en streng som er en representasjon av tilstanden til grensen.
  2. getVgap (): Returner det vertikale gapet mellom komponenten.
  3. getHgap (): Returner det horisontale avstandet mellom komponenten.
  4. setVgap (int vgap): Dette brukes til å stille inn den vertikale gapet mellom komponenten.
  5. setHgap (int hgap): Dette brukes til å stille inn det horisontale avstandet mellom komponentene, etc.

Denne artikkelen diskuterte noen av de kraftige LayoutManagers som brukes til å legge ut vinduskarmer og GUI-er. Artikkelen dekket også å skrive kodelayout ved bruk av to forskjellige konstruktører kjent som java.awt.BorderLayout-klassen og java.awt.BorderLayout-klassen (int, int) for hånd, noe som kunne ha vært utfordrende. Men du bør prøve å gi det. Hvis ikke, kan du prøve å bruke java.awt.GroupLayout layout manager. Du kan bruke et bygningsverktøy også sammen med din layout manager, for eksempel NetBeans IDE, som er et flott verktøy for å lage GUI.

Anbefalte artikler

Dette er en guide til BorderLayout i Java. Her diskuterer vi en introduksjon til BorderLayout i Java, BorderLayout Constructors med koder og utganger. Du kan også gå gjennom andre relaterte artikler for å lære mer-

  1. Oppsett i Java
  2. Rutenettoppsett i Java
  3. Variabler i Java
  4. Kopier konstruktør i Java
  5. HTML-oppsett