Video: Vrachtschepen minder laten vervuilen met behulp van de wind | NU.nl 2024
Een ankerpaneel in JavaFX lijkt op een randvenster, omdat u knooppunten ten opzichte van een van de randen van het venster kunt positioneren. Hier zijn echter een aantal belangrijke verschillen:
-
In een grensvenster is het lay-outgebied verdeeld in vijf verschillende gebieden: boven, rechts, onder, links en midden. Een ankerpaneel verdeelt de lay-out niet in verschillende gebieden. In plaats daarvan kan elk knooppunt in de lay-out worden gebonden - of verankerd - aan een of meer van de vier randen van het lay-outgebied. Wanneer een knooppunt is verankerd aan een rand, positioneert het ankerpaneel het knooppunt zo dicht mogelijk bij die rand nadat andere knooppunten zijn toegestaan.
-
Een knoop kan aan meer dan één rand worden verankerd. Een knooppunt kan bijvoorbeeld worden verankerd aan de boven- en rechterrand, waardoor het knooppunt in de rechterbovenhoek van de lay-out wordt geplaatst.
-
Als een knooppunt is verankerd aan tegenovergestelde randen (boven en onder of links en rechts), wordt het knooppunt naar beide randen van de lay-out getrokken. Dit resulteert erin dat het knooppunt wordt uitgerekt naarmate de grootte van de lay-out toeneemt.
-
Meer dan één knooppunt kan aan elke rand worden verankerd. In dat geval overlappen de knooppunten elkaar zoals ze in een stapelvenster zouden doen.
De volgende tabel toont de constructors en methoden van de klasse AnchorPane, die u gebruikt om een ankerpaneel te maken.
Constructor | Beschrijving |
---|---|
AnchorPane () | Creëert een leeg ankerpaneel. |
AnchorPane (knooppunt … kinderen) | Hiermee maakt u een ankerpaneel met de opgegeven onderliggende knooppunten. |
Methode | Beschrijving |
ObservableList
getChildren () |
Retourneert de verzameling van alle onderliggende knooppunten waaraan
is toegevoegd aan het ankerpaneel. De verzameling wordt geretourneerd als een ObservableList-type, dat de methoden add and addAll, bevat, waarmee u een of meer knooppunten aan de lijst kunt toevoegen. |
static void setTopAnchor (Knooppunt knooppunt, waarde Dubbel) | Verankert het opgegeven knooppunt naar de bovenrand. Waarde
geeft de offset vanaf de rand aan. |
static void setRightAnchor (Node node, Double
waarde) |
Verankert het opgegeven knooppunt aan de rechterrand. Waarde
geeft de offset vanaf de rand aan. |
static void setBottomAnchor (Node node,
Double value) |
Verankert het opgegeven knooppunt naar de onderkant. Waarde
geeft de offset vanaf de rand aan. |
static void setLeftAnchor (Node node, Double
waarde) |
Verankert het opgegeven knooppunt aan de linkerrand. Waarde
geeft de offset vanaf de rand aan. |
void setMinHeight (dubbele waarde) | Hiermee stelt u de minimum hoogte van het ankerpaneel in. |
void setMaxHeight (dubbele waarde) | Stelt de maximale hoogte van het ankerpaneel in. |
void setPrefHeight (dubbele waarde) | Hiermee stelt u de gewenste hoogte van het ankerpaneel in. |
void setMinWidth (double value) | Stelt de minimumbreedte van het ankerpaneel in. |
void-setMaxWidth (dubbele waarde) | Stelt de maximale breedte van het ankerpaneel in. |
void setPrefWidth (dubbele waarde) | Hiermee stelt u de gewenste breedte van het ankerpaneel in. |
void setPadding (Insets value) | Stelt de opvulling rond de binnenranden van het stapel
-paneel in. |
Om een ankerpaneel te maken, belt u de AnchorPane-constructor en geeft u de knooppunten door die u wilt toevoegen. Bijvoorbeeld:
Rectangle r1 = new Rectangle (400, 200); r1. setFill (kleur LIGHTGRAY); Rectangle r2 = new Rectangle (200, 400); R2. setFill (kleur DARKGRAY); AnchorPane anchor = new AnchorPane (r1, r2);
Hier wordt een paar rechthoeken gemaakt, de ene 400 × 200 en de andere 200 × 400. De ene is lichtgrijs gevuld, de andere donkergrijs. Vervolgens wordt een ankervenster gemaakt en worden de twee rechthoeken toegevoegd.
U gebruikt dan de setTopAnchor, setRightAnchor, setBottomAnchor, en setLeftAnchor-methoden om de knooppunten te verankeren aan de randen van het ankerpaneel. Elk van deze methoden accepteert twee parameters: het knooppunt dat u wilt verankeren en een offsetwaarde waarmee u het knooppunt op een bepaalde afstand van de rand kunt verankeren.
Gebruik bijvoorbeeld deze regel om rechthoek R1 te verankeren aan de boven- en linkerkant en rechthoek r2 aan de boven- en rechterrand:
anker. setTopAnchor (r1, 0. 0); anker. setLeftAnchor (r1, 0. 0); anker. setTopAnchor (r2, 0. 0); anker. setRightAnchor (r2, 0. 0);
Het volgende toont hoe dit ankerpaneel zal verschijnen wanneer het in een scène wordt getoond.
Twee rechthoeken weergegeven in een ankerpaneel.Het venster in het bovenste gedeelte van figuur 1 laat zien hoe dit venster wordt weergegeven wanneer het voor het eerst wordt weergegeven. Hier kunt u zien hoe de lichtgrijze rechthoek is verankerd aan de linkerbovenhoek van de lay-out en de donkergrijze rechthoek is verankerd aan de rechterbovenhoek.
Het ankerpaneel is aanvankelijk zo bemeten dat de inhoud ervan goed past. Als gevolg hiervan overlapt de donkergrijze rechthoek de lichtgrijze rechthoek. Het venster in het onderste gedeelte van de afbeelding laat zien hoe de lay-out wordt weergegeven wanneer de gebruiker het venster rekt, zodat het ankerlay-outvenster kan worden uitgebreid. Naarmate het ankervenster groter wordt, blijft de lichtgrijze rechthoek in de linkerbovenhoek van de lay-out staan, terwijl de donkergrijze rechthoek de rechterbovenhoek van het venster volgt. Dus de rechthoeken scheiden.