Szia! Tehát a Swing Screen beszállítói csapatának tagja vagyok, és egy csomó kérdést kaptam a BorderLayout használatáról a Swing Screen-ben. Ma lépésről lépésre lebontom neked.
Először is, mi a fene az a BorderLayout? Nos, ez az egyik elrendezéskezelő a Java Swing API-jában. Az elrendezéskezelők olyanok, mint a grafikus felhasználói felület (GUI) építészei. Ők döntik el, hogy az összes összetevő, például a gombok, szövegmezők és címkék hogyan legyenek elrendezve a képernyőn. A BorderLayout öt régióra osztja a tárolót: NORTH, SOUTH, EAST, WEST és CENTER.
Kezdjük egy kis kóddal. Íme egy szuper egyszerű példa egy alapvető Swing Screen beállítására BorderLayout funkcióval:
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("Észak"); frame.add(északi gomb, BorderLayout.NORTH); JButton southButton = new JButton("Dél"); frame.add(southButton, BorderLayout.SOUTH); JButton eastButton = new JButton("Kelet"); frame.add(eastButton, BorderLayout.EAST); JButton westButton = new JButton("Nyugat"); frame.add(westButton, BorderLayout.WEST); JButton centerButton = new JButton("Közép"); frame.add(centerButton, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } }
Ebben a kódban először létrehozunk egyJFrame, ami olyan, mint a Swing Screen ablaka. Ezután beállítjuk az elrendezésétBorderLayout. Ezt követően létrehozunk ötötJButtonösszetevőket, és mindegyiket hozzáadja a program egy adott régiójáhozBorderLayout. AÉSZAKIa régió a csúcson van,DÉLIalul,KELETIa jobb oldalon,NYUGATa bal oldalon, ésKÖZPONTközépen.
A BorderLayout nagyszerűsége az, hogy hogyan kezeli az összetevők átméretezését. AKÖZPONTkomponens az összes fennmaradó helyet elfoglalja, miután a többi régió megtelt. Például, ha átméretezi a keretet, aKÖZPONTgomb kibővül vagy csökken, hogy elférjen a rendelkezésre álló hely.
Íme néhány valós forgatókönyv, ahol érdemes lehet használni a BorderLayoutot egy Swing Screen-ben. Tegyük fel, hogy egy alkalmazást készít aPép feketelúgfeldolgozó üzem. Használhatnád aÉSZAKIrégiót az üzem logójának vagy címének megjelenítéséhez. ADÉLIrégióban lehetnek állapotsorok, amelyek az aktuális működési állapotot vagy hibaüzeneteket mutatják. ANYUGATésKELETIrégiók használhatók a navigációs menükhöz vagy a vezérlőpanelekhez. És aKÖZPONTrégió megjelenítheti a fő feldolgozási adatokat vagy az üzem élő takarmányát.
Beszéljünk kicsit bővebben az egyes régiók tulajdonságairól.
- ÉSZAK és DÉL: Ezeket a régiókat olyan dolgokhoz használják, amelyeknek a képernyő tetején vagy alján kell lenniük, például fejlécekhez és láblécekhez. Vízszintesen nyúlnak és fix magasságúak (általában a bennük lévő alkatrészek által megkívánt magasság).
- KELET és NYUGAT: Ezek az oldalsávokhoz valók. Függőlegesen nyúlnak és fix szélességgel rendelkeznek.
- KÖZPONT: Ahogy korábban mondtam, az összes fennmaradó helyet elfoglalja. Ez nagyszerű az alkalmazás fő tartalmi területén.
Most pedig nézzük meg, mi történik, ha több összetevőt szeretne hozzáadni egyetlen régióhoz. Ebben az esetben használhat JPanel-t. AJPanelegy olyan tároló, amely több összetevőt is tartalmazhat, és beállíthatja a saját elrendezéskezelőjét.
Így adhat hozzá több gombot aÉSZAKIrégió segítségével aJPanel:
import javax.swing.*; import java.awt.*; public class MultipleComponentsInRegion { public static void main(String[] args) { JFrame frame = new JFrame("Több komponens északon"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); JPanel northPanel = new JPanel(); northPanel.setLayout(new FlowLayout()); JButton button1 = new JButton("Button 1"); JButton button2 = new JButton("Button 2"); northPanel.add(button1); northPanel.add(button2); frame.add(northPanel, BorderLayout.NORTH); frame.pack(); frame.setVisible(true); } }
Ebben a kódban létrehozunk egyJPanelés állítsa be az elrendezésétFlowLayout(egy másik elrendezéskezelő, amely a komponenseket sorban, balról jobbra rendezi). Ezután adunk hozzá két gombot aJPanelés add hozzá aJPanelaÉSZAKIrégiójaBorderLayout.
Egy másik dolog, amit meg kell jegyezni, hogy nem kell mind az öt régiót használnia. Például, ha csak egy fejlécre és egy fő tartalomterületre van szüksége, akkor egyszerűen használhatja aÉSZAKIésKÖZPONTrégiókban.
import javax.swing.*; import java.awt.*; public class TwoRegionsExample { public static void main(String[] args) { JFrame frame = new JFrame("Két régió"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); JLabel northLabel = new JLabel("Fejléc"); frame.add(northLabel, BorderLayout.NORTH); JTextArea centerTextArea = new JTextArea("Ez a fő tartalom."); frame.add(centerTextArea, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } }
Nézzünk meg néhány tippet és trükköt is a BorderLayout használatakor.
- Méretezési szempontok: Ne feledje, hogy a
KÖZPONTösszetevő átméretezi a rendelkezésre álló helyet. Ha más régiókban vannak olyan összetevői, amelyeket nem szeretne átméretezni, ügyeljen arra, hogy megfelelően állítsa be a kívánt méreteket. - Alkatrész-hierarchia: Ahogy az a
JPanelPéldául létrehozhat egy komponens hierarchiát az összetett elrendezések kezeléséhez. Nem korlátozódik a BorderLayout öt régiójára; más konténereket és elrendezéseket is beágyazhat a belsejébe.
Ha egy papír-cellulóz berendezéssel kapcsolatos projekten dolgozik, például egy vezérlőrendszeren aCsavaros aprítógépvagy aKözepes konzisztenciájú finomító, a BorderLayout segítségével hatékonyan rendszerezheti grafikus felhasználói felületét. Használhatja például aNYUGATrégióban a kezelőpanel az aprító sebességének vagy a finomító konzisztenciájának beállításához, míg aKÖZPONTrégió valós idejű adatokat jeleníthet meg a berendezés működéséről.
Összefoglalva, a BorderLayout egy igazán hatékony és rugalmas elrendezéskezelő a Swing Screens számára. Kiválóan alkalmas egyszerű és közepesen összetett grafikus felhasználói felületek létrehozására. Függetlenül attól, hogy papír-cellulóz-üzemhez vagy bármilyen más rendszerhez épít egy alkalmazást, a BorderLayout használatának ismerete szilárd alapot biztosít egy szervezett és felhasználóbarát felület létrehozásához.


Ha érdekel egy Swing Screen megoldás vállalkozása vagy projektje számára, szívesen beszélgetünk. Bátran forduljon beszerzési megbeszéléshez. Együtt dolgozhatunk, hogy kitaláljuk a legjobb elrendezést és kialakítást az Ön egyedi igényeinek megfelelően.
Hivatkozások
- A Java oktatóanyagok – GUI létrehozása Swing segítségével. Jóslat.
- Swing: Útmutató kezdőknek. Herbert Schildt.
