Layoutansvarig
Layouthanterare är programvarukomponenter som används i widget-verktygssatser som har förmågan att lägga ut grafiska kontrollelement efter deras relativa positioner utan att använda avståndsenheter. Det är ofta mer naturligt att definiera komponentlayouter på det här sättet än att definiera deras position i pixlar eller gemensamma avståndsenheter, så ett antal populära widgetverktygssatser inkluderar denna möjlighet som standard. Widgetverktyg som tillhandahåller den här funktionen kan i allmänhet klassificeras i två grupper:
- De där layoutbeteendet är kodat i speciella grafiska behållare . Detta är fallet i XUL och .NET Framework- widgetverktyget (både i Windows Forms och i XAML ).
- De där layoutbeteendet är kodat i layouthanterare, som kan tillämpas på vilken grafisk behållare som helst. Detta är fallet i Swing -widgetverktyget som är en del av Java API .
Exempel
XUL
I XUL , som vbox -behållaren för att stapla komponenter ovanpå varandra.
<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id= "vbox exempel" title= "Exempel" xmlns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" > <vbox> <button id= "yes" label= "Yes" /> <button id= "no" label = "Nej" /> <button id= "kanske" label= "Kanske" /> </vbox> </window>
Denna kodbit visar 3 knappar staplade ovanpå varandra i en vertikal ruta.
XAML
DockPanel - behållaren lägger ut barnkomponenter enligt deras Dock- egenskaper.
<Page xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" WindowTitle= "myDock Panel" > <DockPanel> <TextBlock DockPanel.Dock= "Topp" > Topp 1 </TextBlock> < TextBlock DockPanel.Dock= "Topp" > Topp 2 </TextBlock> <TextBlock DockPanel.Dock= "Topp" > Topp 3 </TextBlock> <TextBlock DockPanel.Dock= "Topp" > Topp 4 </TextBlock> </DockPanel > </Page>
Denna kod visar 4 textblock ovanpå varandra.
Java
FlowLayout -
layouthanteraren arrangerar komponenter i ett riktningsflöde, ungefär som textrader i ett stycke. Den arrangerar komponenter horisontellt tills inga fler komponenter passar på samma linje, sedan placerar den dem på en annan linje. Andra layouthanterare är GridLayout-hanterare som arrangerar komponenterna i rutnätsform och BorderLayout-hanterare som också arrangerar komponenten i fem delar av ramen, alltså: söder, norr, väster, öster och centrum.
importera javax.swing.JFrame ; importera javax.swing.JButton ; importera java.awt.FlowLayout ; importera java.awt.Container ; public class Exempel { privat JFrame frame ; public Exempel () { frame = new JFrame ( "FlowLayout Demo" ); ram . setDefaultCloseOperation ( JFrame . EXIT_ON_CLOSE ); ram . setLayout ( ny FlowLayout ()); ram . add (( ny JButton ( "Knapp 1" ))); ram . add (( ny JButton ( "Knapp 2" ))); ram . add (( ny JButton ( "Knapp 3" ))); ram . add (( ny JButton ( "Long-Named Button 4")) ); ram . add (( ny JButton ( "5" ))); ram . pack (); ram . setVisible ( sant ); } public static void main ( String [] args ) { Exempel ex = nytt Exempel (); } }
Denna kod visar 5 knappar bredvid varandra på samma rad: