I Javas Swing GUI bibliotek (samt dens forløber AWT ) , arrangementet af komponenter inden for en ramme eller panel er bestemt af en implementering af LayoutManager interface. Den LayoutManager interface giver frames at fastholde en konsekvent arrangement af GUI komponenter på tværs af flere platforme , "Se og Føles " og vinduesstørrelser . Den BorderLayout Manager er det mest almindeligt anvendte layout manager for relativt simpel form layouts. Den BorderLayout manager
BorderLayout manager opdeler rammen eller panelet i fem regioner , der hver indeholder en komponent. Disse regioner er navngivet nord, syd, øst, vest og CENTER . Den BorderLayout klasse er initialiseret fem statiske konstanter svarende til disse regioner, som kan tilgås som
Eksempel på BorderLayout
Brug af BorderLayout manager er en forholdsvis enkel proces . Opret en ny JFrame
import javax.swing * ; . . Import java.awt * ; .
JFrame vindue = new JFrame ();
Vi kan fortælle JFrame at bruge BorderLayout som sin layout leder ved at køre følgende kommando : Hej
window.setLayout (ny BorderLayout ());
Desuden kan vi tilføje en komponent til JFrame ved blot at kalde add funktion : Hej
window.add (ny JButton ( "Wonderful" ) , BorderLayout.NORTH ),
Dette vil fylde toppen ( "Nord" ) del af vinduet med store knap med ordet " Wonderful" vises på tværs af det . Vi kan tilføje andre elementer til at forbruge de øvrige regioner
window.add (ny JLabel ( "Very vidunderlige" ) , BorderLayout.SOUTH ) . Window.add (ny JTextArea () , BorderLayout.EAST ) vindue . add (ny JButton ( "Tillykke ") BorderLayout.WEST ), window.add (ny JComboBox () , BorderLayout.CENTER ),
Herefter BorderLayout synes at hans væg. Det kan kun indeholde fem komponenter , trods alt, stift lagt ud i en af de fem regioner. Men det er ikke sandt .
Nøglen til effektiv layout manager Brug
Hemmeligheden at bruge layout managers i Java Swing eller AWT er at forstå, at panelerne og anden beholder objekter selv tælles som én komponent , og at disse container objekter kan eje deres egne layoutmanagere til håndtering det område af vinduet , der er blevet givet til dem . Følgende eksempel illustrerer dette
Panel pone = new Panel (); . Window.add ( pone , BorderLayout.CENTER ) //Du skal fjerne foregående linje afsætte en JComboBox ( ) til CENTER for at dette virker . pOne.setLayout (ny BorderLayout ()); pOne.add (ny JLable ( "Dette er i den nordlige del af pone , som selv er i midten af vinduet. ") BorderLayout.NORTH ) ;
Rigtige applikationer vil næsten altid reden flere paneler og layout managers som denne, for at opnå det ønskede layout af komponenter.