Swing-Layout "Flex"
Das "Flex"-Layout bietet die Möglichkeit, beliebig viele Komponenten flexibel zu plazieren. Diese können dazu am Rand, an einander oder anhand von festen Werten ausgerichtet werden.
Beispiel
Ein Element wird hier mit ".put" hinzugefügt und mit den nachfolgenden Funktionen ausgerichtet:
button1 = Swing_Button( "Top left" )
button2 = Swing_Button( "Top right" )
button3 = Swing_Button( "Center" )
button4 = Swing_Button( "Bottom" )
flex = Swing_LayoutFlex
flex.put( button2 ).top.right.width( 100 ).height( 30 )
flex.put( button1 ).top.left.right( button2, 10 ).height( 30 )
flex.put( button4 ).left.right.bottom( 5 ).height( 50 )
flex.put( button3 ).top( button2, 10 ).left.right.bottom( button4, 5 )
Swing_Main( 600, 400, "My Flex-Layout" ).add( flex ).run
Dieses Beispiel beinhaltet 4 Knöpfe, die an verschiedenen Positionen oder aneinander verankert sind. Dies zeigt sich sehr deutlich beim ändern der Größe des Fensters.
Verankern
Nach dem ".put" folgen verschiedene Funktionen, welche die Komponente verankern.
|
Oberer Rand |
|
Linker Rand |
|
Rechter Rand |
|
Unterer Rand |
Ohne Argumente wird die Komponente am jeweiligen Rand verankert.
Mit einem einzelnen Argument kann die Komponente mit Abstand vom jeweiligen Rand
.top( 50 )
... oder an einer anderen Komponente ...
.top( button1 )
... ausgerichtet werden.
Mit zwei Argumenten wird die Komponente an einer anderen Komponente und mit Abstand zu dieser ausgerichtet:
.top( button1, 10 )
Dies würde die Oberseite einer Komponente mit 10 Pixel Abstand zu "button1" positionieren.
Größe
Zum definieren der Größe einer Komponente existieren die folgenden Funktionen:
|
Breite der Komponente auf 50 Pixel setzen |
|
Höhe der Komponente auf 50 Pixel setzen |