Video: Dragsbæk frigiver medarbejderressourcer ved hjælp af AGV-løsning 2025
En ankerrude i JavaFX ligner en kantrude, idet den lader dig placere noder i forhold til en af kanterne af ruden. Her er dog flere vigtige forskelle:
-
I en grænseflade er layoutområdet opdelt i fem forskellige områder: øverste, højre, nederste, venstre og midten. En ankerrude deler ikke layoutet i forskellige områder. I stedet kan hver knude i layoutet bindes - eller forankret - til en eller flere af de fire kanter af layoutområdet. Når en knude er forankret til en kant, vil ankerpanelet placere knuden så tæt som muligt på den kant efter at have tilladt andre knuder.
-
En knude kan forankres til mere end en kant. For eksempel kan en knude forankres til øverste og højre kant, som vil placere knuden i øverste højre hjørne af layoutet.
-
Hvis en knude er forankret til modsatte kanter (øverste og nederste eller venstre og højre), vil knuden blive trukket mod begge kanter af layoutet. Dette resulterer i, at noden strækkes, da størrelsen af layoutet stiger.
-
Mere end et knudepunkt kan forankres til hver kant. I så fald vil knuderne overlappe som de ville i en stakrude.
Følgende tabel viser konstruktørerne og metoderne i AnchorPane-klassen, som du bruger til at oprette en ankerrude.
Constructor | Beskrivelse |
---|---|
AnchorPane () | Opretter en tom ankerrude. |
AnchorPane (Node … børn) | Opretter en ankerrude med de angivne børne noder. |
Metode | Beskrivelse |
ObservableList
getChildren () |
Returnerer samlingen af alle børne noder, der er blevet tilføjet
til ankerruden. Samlingen returneres som en ObservableList-type, som indeholder metoderne add and addAll, , som lader dig tilføje en eller flere noder til listen. |
statisk tomt setTopAnchor (Node node, Double
værdi) |
Forankrer det angivne knudepunkt til den øverste kant. Værdi
angiver forskydningen fra kanten. |
statisk tomrumssætRightAnchor (Node node, Double
værdi) |
Forankrer det specificerede knudepunkt til højre kant. Værdi
angiver forskydningen fra kanten. |
statisk tomrumssætBottomAnchor (Node node,
Dobbeltværdi) |
Forankrer det angivne knudepunkt til nederste kant. Værdi
angiver forskydningen fra kanten. |
statisk tomt setLeftAnchor (Node node, Double
værdi) |
Forankrer den angivne node til venstre kant. Værdi
angiver forskydningen fra kanten. |
void setMinHeight (dobbeltværdi) | Indstiller mindste højde på ankerruden. |
void setMaxHeight (dobbeltværdi) | Indstiller den maksimale højde på ankerruden. |
void setPrefHeight (double value) | Indstiller den foretrukne højde på ankerruden. |
void setMinWidth (double value) | Indstiller mindste bredde på ankerruden. |
void setMaxWidth (double value) | Indstiller den maksimale bredde på ankerruden. |
void setPrefWidth (double value) | Indstiller den foretrukne bredde på ankerruden. |
void setPadding (Insets værdi) | Indstiller polstring rundt om indersiden af stakken
rude. |
For at oprette en ankerrude skal du ringe til AnchorPane-konstruktøren og sende de noder, du vil tilføje. For eksempel:
Rektangel r1 = Ny rektangel (400, 200); r1. setFill (Color. LIGHTGRAY); Rektangel r2 = Ny rektangel (200, 400); r2. setFill (Color. DARKGRAY); AnchorPane anker = nyt ankerpanel (r1, r2);
Her oprettes et par rektangler, en 400 × 200, den anden 200 × 400. Den ene er fyldt lysegrå, den anden mørkegrå. Derefter oprettes en ankerrude, og de to rektangler tilføjes.
Du bruger derefter setTopAnchor-, setRightAnchor-, setBottomAnchor- og setLeftAnchor-metoderne til at forankre knuderne til kanterne af ankerruden. Hver af disse metoder accepterer to parametre: noden du vil forankre og en forskydningsværdi, der lader dig forankre knuden en vis afstand fra kanten.
For eksempel at forankre rektangel r1 til de øverste og venstre kanter og rektangel r2 til de øverste og højre kanter, brug disse linjer:
anker. setTopAnchor (r1, 0. 0); anker. setLeftAnchor (r1, 0. 0); anker. setTopAnchor (r2, 0. 0); anker. setRightAnchor (r2, 0. 0);
Nedenstående viser, hvordan denne ankerrude vises, når den vises i en scene.
To rektangler vist i en forankringsrude.Vinduet øverst i figur 1 viser, hvordan denne rude vises, når den oprindeligt vises. Her kan du se, hvordan det lysegrå rektangel er forankret øverst til venstre i layoutet, og det mørkegrå rektangel er forankret øverst til højre.
Ankerruden er oprindeligt dimensioneret, så dens indhold passer godt. Som følge heraf overlader det mørke grå rektangel det lysegrå rektangel. Vinduet i den nederste del af figuren viser hvordan layoutet vises, når brugeren strækker vinduet, så ankerlayoutpanelet kan vokse. Da ankerruden bliver bredere, bliver det lysegrå rektangel sat i øverste venstre hjørne af layoutet, mens det mørke grå rektangel følger det øverste højre hjørne af ruden. Således adskilles rektanglerne.