Hei acolo! Deci, fac parte dintr-un echipaj de furnizori Swing Screen și am primit o grămadă de întrebări despre cum să folosesc BorderLayout într-un Swing Screen. Astăzi, o voi descompune pentru tine pas cu pas.
În primul rând, ce dracu este BorderLayout? Ei bine, este unul dintre managerii de layout din API-ul Swing din Java. Managerii de layout sunt ca arhitecții unei GUI (Graphical User Interface). Ei decid modul în care toate componentele, cum ar fi butoanele, câmpurile de text și etichetele, vor fi aranjate pe ecran. BorderLayout împarte containerul în cinci regiuni: NORD, SUD, EST, VEST și CENTRU.
Să începem cu un pic de cod. Iată un exemplu foarte simplu de configurare a unui Swing Screen de bază cu BorderLayout:
import javax.swing.*; import java.awt.*; public class BorderLayoutExample { public static void main(String[] args) { JFrame frame = new JFrame("BorderLayout Demo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); JButton northButton = new JButton ("Nord"); frame.add(northButton, BorderLayout.NORTH); JButton southButton = new JButton ("Sud"); frame.add(sudButton, BorderLayout.SOUTH); JButton eastButton = nou JButton(„Est”); frame.add(eastButton, BorderLayout.EAST); JButton westButton = new JButton ("Vest"); frame.add(westButton, BorderLayout.WEST); JButton centerButton = new JButton ("Centru"); frame.add(centerButton, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } }
În acest cod, mai întâi creăm unJFrame, care este ca fereastra pentru Swing Screen. Apoi îi setăm aspectul laBorderLayout. După aceea, creăm cinciJButtoncomponente și adăugați fiecare la o anumită regiune aBorderLayout. TheNORDregiunea este în vârf,SUDîn partea de jos,ORIENTULpe dreapta,VESTîn stânga, șiCENTRUÎn mijloc.
Lucrul tare despre BorderLayout este modul în care gestionează redimensionarea componentelor. TheCENTRUcomponenta va ocupa tot spațiul rămas după ce celelalte regiuni sunt umplute. De exemplu, dacă redimensionați cadrul, acestaCENTRUbutonul se va extinde sau se va micșora pentru a se potrivi cu spațiul disponibil.
Acum, iată câteva scenarii din lumea reală în care ați putea dori să utilizați BorderLayout într-un ecran Swing. Să presupunem că construiți o aplicație pentru aPulpa Lichior Negruuzină de procesare. Ai putea folosiNORDregiune pentru a afișa sigla plantei sau un titlu. TheSUDregiunea ar putea avea bare de stare care arată starea curentă a operațiunii sau mesaje de eroare. TheVESTşiORIENTULregiunile pot fi folosite pentru meniuri de navigare sau panouri de control. Iar celCENTRUregiunea poate afișa datele principale de procesare sau un flux live de la fabrică.
Să vorbim puțin mai mult despre proprietățile fiecărei regiuni.
- NORD și SUD: Aceste regiuni sunt folosite pentru lucruri care ar trebui să fie în partea de sus sau de jos a ecranului, cum ar fi anteturile și subsolurile. Se întind orizontal și au o înălțime fixă (de obicei, înălțimea cerută de componentele pe care le conțin).
- EST și VEST: Acestea sunt pentru barele laterale. Se întind pe verticală și au o lățime fixă.
- CENTRU: După cum am spus mai devreme, ocupă tot spațiul rămas. Acest lucru este excelent pentru zona de conținut principal a aplicației dvs.
Acum, să vedem ce se întâmplă când doriți să adăugați mai multe componente într-o singură regiune. În acest caz, puteți utiliza un JPanel. OJPaneleste un container care poate conține mai multe componente și puteți seta propriul manager de layout.
Iată cum puteți adăuga mai multe butoane laNORDregiune folosind aJPanel:
import javax.swing.*; import java.awt.*; public class MultipleComponentsInRegion { public static void main(String[] args) { JFrame frame = new JFrame("Multiple Components in NORTH"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); JPanel northPanel = JPanel nou(); northPanel.setLayout(nou FlowLayout()); JButton button1 = new JButton ("Butonul 1"); JButton button2 = new JButton ("Butonul 2"); northPanel.add(button1); northPanel.add(button2); frame.add(northPanel, BorderLayout.NORTH); frame.pack(); frame.setVisible(true); } }
În acest cod, creăm unJPanelși setați-i aspectul laFlowLayout(un alt manager de layout care aranjează componentele într-un rând, de la stânga la dreapta). Apoi adăugăm două butoane laJPanelși adăugațiJPanellaNORDregiune aBorderLayout.
Un alt lucru de reținut este că nu trebuie să utilizați toate cele cinci regiuni. De exemplu, dacă aveți nevoie doar de un antet și de o zonă principală de conținut, puteți utiliza doarNORDşiCENTRUregiuni.
import javax.swing.*; import java.awt.*; public class TwoRegionsExample { public static void main(String[] args) { JFrame frame = new JFrame("Două regiuni"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); JLabel northLabel = new JLabel("Header"); frame.add(northLabel, BorderLayout.NORTH); JTextArea centerTextArea = new JTextArea(„Acesta este conținutul principal.”); frame.add(centerTextArea, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } }
Să atingem, de asemenea, câteva sfaturi și trucuri atunci când folosiți BorderLayout.
- Considerente de redimensionare: Amintiți-vă că
CENTRUcomponenta se va redimensiona pentru a umple spațiul disponibil. Dacă aveți componente în alte regiuni pe care nu doriți să le redimensionați, asigurați-vă că le setați corespunzător dimensiunile preferate. - Ierarhia componentelor: După cum se arată în
JPanelDe exemplu, puteți crea o ierarhie de componente pentru a gestiona aspecte complexe. Nu vă limitați doar la cele cinci regiuni ale BorderLayout; puteți cuibări alte containere și machete în interior.
Dacă lucrați la un proiect legat de echipamente pentru hârtie - celuloză, cum ar fi un sistem de control pentru aTocător cu șuruburisau aRafinator de consistență medie, folosind BorderLayout vă poate ajuta să vă organizați eficient GUI. De exemplu, puteți utilizaVESTregiune pentru panoul de control pentru a regla viteza tocătorului sau setările de consistență ale rafinatorului, în timp ceCENTRUregiunea poate afișa date în timp real despre funcționarea echipamentului.
În concluzie, BorderLayout este un manager de aspect cu adevărat puternic și flexibil pentru Swing Screens. Este excelent pentru a crea interfețe grafice simple până la moderat complexe. Indiferent dacă construiți o aplicație pentru o fabrică de hârtie - celuloză sau orice alt tip de sistem, cunoașterea utilizării BorderLayout vă oferă o bază solidă pentru crearea unei interfețe organizate și ușor de utilizat.


Dacă sunteți interesat să obțineți o soluție Swing Screen pentru afacerea sau proiectul dvs., ne-ar plăcea să vorbim. Simțiți-vă liber să contactați pentru o discuție privind achizițiile. Putem lucra împreună pentru a găsi cel mai bun aspect și design pentru nevoile dumneavoastră specifice.
Referințe
- Tutoriale Java - Crearea unei GUI cu Swing. Oracol.
- Swing: un ghid pentru începători. Herbert Schildt.
