Hallo! Ich gehöre also zu einem Swing-Screen-Lieferantenteam und habe eine Reihe von Fragen zur Verwendung von BorderLayout in einem Swing-Screen erhalten. Heute werde ich es Schritt für Schritt für Sie aufschlüsseln.
Zunächst einmal: Was zum Teufel ist BorderLayout? Nun, es ist einer der Layout-Manager in der Swing-API von Java. Layoutmanager sind wie die Architekten einer GUI (Graphical User Interface). Sie entscheiden, wie alle Komponenten, wie Schaltflächen, Textfelder und Beschriftungen, auf dem Bildschirm angeordnet werden. BorderLayout unterteilt den Container in fünf Regionen: NORTH, SOUTH, EAST, WEST und CENTER.
Beginnen wir mit ein wenig Code. Hier ist ein supereinfaches Beispiel für die Einrichtung eines einfachen Swing-Bildschirms mit BorderLayout:
import javax.swing.*; java.awt.* importieren; öffentliche Klasse 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("North"); frame.add(northButton, BorderLayout.NORTH); JButton SouthButton = new JButton("South"); frame.add(southButton, BorderLayout.SOUTH); JButton eastButton = new JButton("East"); frame.add(eastButton, BorderLayout.EAST); JButton westButton = new JButton("West"); frame.add(westButton, BorderLayout.WEST); JButton centerButton = new JButton("Center"); frame.add(centerButton, BorderLayout.CENTER); Frame.pack(); frame.setVisible(true); } }
In diesem Code erstellen wir zunächst eineJFrame, das wie das Fenster für unseren Swing Screen ist. Dann stellen wir das Layout auf einBorderLayout. Danach erstellen wir fünfJButtonKomponenten und fügen Sie jede einzelne einer bestimmten Region der hinzuBorderLayout. DerNORDENRegion ist an der Spitze,SÜDENganz unten,OSTrechts,WESTENauf der linken Seite undCENTERmitten drin.
Das Coole an BorderLayout ist, wie es mit der Größenänderung von Komponenten umgeht. DerCENTERDie Komponente nimmt den gesamten verbleibenden Platz ein, nachdem die anderen Bereiche gefüllt sind. Wenn Sie beispielsweise die Größe des Rahmens ändern, wird derCENTERDie Schaltfläche wird vergrößert oder verkleinert, um sie an den verfügbaren Platz anzupassen.
Hier sind einige reale Szenarien, in denen Sie BorderLayout möglicherweise in einem Swing-Bildschirm verwenden möchten. Angenommen, Sie erstellen eine Anwendung für aZellstoff-SchwarzlaugeVerarbeitungsanlage. Du könntest das verwendenNORDENRegion, um das Logo oder einen Titel der Anlage anzuzeigen. DerSÜDENDie Region könnte über Statusleisten verfügen, die den aktuellen Betriebsstatus oder Fehlermeldungen anzeigen. DerWESTENUndOSTRegionen können für Navigationsmenüs oder Bedienfelder verwendet werden. Und dieCENTERDie Region kann die wichtigsten Verarbeitungsdaten oder einen Live-Feed aus der Anlage anzeigen.
Lassen Sie uns etwas mehr über die Eigenschaften der einzelnen Regionen sprechen.
- NORD und SÜD: Diese Bereiche werden für Dinge verwendet, die sich am oberen oder unteren Bildschirmrand befinden sollen, wie Kopf- und Fußzeilen. Sie erstrecken sich horizontal und haben eine feste Höhe (normalerweise die Höhe, die für die darin enthaltenen Komponenten erforderlich ist).
- OST und WEST: Diese sind für Seitenleisten. Sie erstrecken sich vertikal und haben eine feste Breite.
- CENTER: Wie ich bereits sagte, nimmt es den gesamten verbleibenden Platz ein. Dies eignet sich hervorragend für den Hauptinhaltsbereich Ihrer Bewerbung.
Sehen wir uns nun an, was passiert, wenn Sie einer einzelnen Region mehrere Komponenten hinzufügen möchten. In diesem Fall können Sie ein JPanel verwenden. AJPanelist ein Container, der mehrere Komponenten enthalten kann, und Sie können einen eigenen Layout-Manager festlegen.
So können Sie dem mehrere Schaltflächen hinzufügenNORDENRegion mit aJPanel:
import javax.swing.*; java.awt.* importieren; 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 = new JPanel(); NorthPanel.setLayout(new FlowLayout()); JButton button1 = new JButton("Button 1"); JButton button2 = new JButton("Button 2"); nordPanel.add(button1); nordPanel.add(button2); frame.add(northPanel, BorderLayout.NORTH); Frame.pack(); frame.setVisible(true); } }
In diesem Code erstellen wir eineJPanelund stellen Sie das Layout auf einFlowLayout(ein weiterer Layout-Manager, der Komponenten in einer Reihe von links nach rechts anordnet). Dann fügen wir zwei Schaltflächen hinzuJPanelund füge hinzuJPanelzumNORDENRegion derBorderLayout.
Beachten Sie außerdem, dass Sie nicht alle fünf Regionen verwenden müssen. Wenn Sie beispielsweise nur eine Kopfzeile und einen Hauptinhaltsbereich benötigen, können Sie einfach die verwendenNORDENUndCENTERRegionen.
import javax.swing.*; java.awt.* importieren; öffentliche Klasse TwoRegionsExample { public static void main(String[] args) { JFrame frame = new JFrame("Two Regions"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); JLabel NorthLabel = new JLabel("Header"); frame.add(northLabel, BorderLayout.NORTH); JTextArea centerTextArea = new JTextArea("Dies ist der Hauptinhalt."); frame.add(centerTextArea, BorderLayout.CENTER); Frame.pack(); frame.setVisible(true); } }
Lassen Sie uns auch auf einige Tipps und Tricks bei der Verwendung von BorderLayout eingehen.
- Überlegungen zur Größenänderung: Denken Sie daran, dass die
CENTERDie Größe der Komponente wird angepasst, um den verfügbaren Platz auszufüllen. Wenn Sie Komponenten in anderen Regionen haben, deren Größe Sie nicht ändern möchten, stellen Sie sicher, dass Sie deren bevorzugte Größe entsprechend festlegen. - Komponentenhierarchie: Wie in der gezeigt
JPanelSie können beispielsweise eine Hierarchie von Komponenten erstellen, um komplexe Layouts zu verwalten. Sie sind nicht nur auf die fünf Regionen von BorderLayout beschränkt; Sie können andere Container und Layouts darin verschachteln.
Wenn Sie an einem Projekt im Zusammenhang mit Papier- und Zellstoffanlagen arbeiten, z. B. einem Steuerungssystem für eineSchneckenzerkleinereroder einMittelkonsistenz-RefinerMit BorderLayout können Sie Ihre GUI effektiv organisieren. Sie können zum Beispiel die verwendenWESTENBereich für das Bedienfeld, um die Geschwindigkeit des Schredders oder die Konsistenzeinstellungen des Refiners anzupassen, während dieCENTERDie Region kann Echtzeitdaten über den Gerätebetrieb anzeigen.
Zusammenfassend lässt sich sagen, dass BorderLayout ein wirklich leistungsstarker und flexibler Layout-Manager für Swing Screens ist. Es eignet sich hervorragend zum Erstellen einfacher bis mittelkomplexer GUIs. Unabhängig davon, ob Sie eine Anwendung für eine Papierzellstoffanlage oder ein anderes System erstellen: Wenn Sie wissen, wie Sie BorderLayout verwenden, erhalten Sie eine solide Grundlage für die Erstellung einer organisierten und benutzerfreundlichen Benutzeroberfläche.


Wenn Sie Interesse an einer Swing Screen-Lösung für Ihr Unternehmen oder Projekt haben, würden wir uns gerne mit Ihnen unterhalten. Melden Sie sich gerne für ein Beschaffungsgespräch. Wir können gemeinsam das beste Layout und Design für Ihre spezifischen Bedürfnisse finden.
Referenzen
- Die Java-Tutorials – Erstellen einer GUI mit Swing. Orakel.
- Swing: Ein Leitfaden für Anfänger. Herbert Schildt.
