Video: JavaFX Settings UI Design - Scene builder and Netbeans 2024
En förankringsruta i JavaFX liknar en gränsruta genom att den låter dig placera noder i förhållande till en av kanterna på rutan. Men här är flera viktiga skillnader:
-
I en gränsruta är uppdelningsområdet indelat i fem distinkta områden: topp, höger, botten, vänster och centrum. En ankarpanel delar inte upp layouten i olika områden. Istället kan varje nod i layouten bindas - eller förankrad - till en eller flera av de fyra kanterna i layouten. När en nod är förankrad till en kant, placerar ankarpanelen noden så nära som möjligt till den kanten efter att ha tillåtit andra knutpunkter.
-
En nod kan förankras till mer än en kant. Till exempel kan en nod förankras till de övre och högra kanterna, som placerar noden längst upp till höger i layouten.
-
Om en nod är förankrad mot motsatta kanter (övre och nedre eller vänster och höger), kommer noden att dras mot båda kanterna av layouten. Detta resulterar i att noden sträcker sig eftersom storleken på layouten ökar.
-
Mer än en nod kan förankras i varje kant. I det fallet överlappar knutpunkterna som de skulle i en stapelruta.
Följande tabell visar konstruktörerna och metoderna i AnchorPane-klassen, som du använder för att skapa en förankringsruta.
Constructor | Beskrivning |
---|---|
AnchorPane () | Skapar en tom förankringsruta. |
AnchorPane (Nod … barn) | Skapar en ankarpanel med de angivna barnnoden. |
Metod | Beskrivning |
ObservableList
getChildren () |
Returnerar samlingen av alla barnnoder som har lagts till
i förankringsruten. Samlingen returneras som en ObservableList-typ, som inkluderar metoderna add and addAll, som låter dig lägga till en eller flera noder i listan. |
statisk tomt setTopAnchor (nod nod, dubbel
värde) |
Ankar den angivna noden till överkanten. Värde
anger offset från kanten. |
statisk tomrumssättRightAnchor (Node node, Double
värde) |
Ankar den angivna noden till höger kant. Värde
anger offset från kanten. |
statisk tomgångssatsBottomAnchor (nodnod,
dubbelvärde) |
Förankrar den angivna noden till nederkant. Värde
anger offset från kanten. |
statisk tomrumssättningLeftAnchor (nod nod, dubbel
värde) |
Förankrar den angivna noden till vänstra kanten. Värde
anger offset från kanten. |
void setMinHeight (dubbelvärde) | Ställer in minsta höjden på ankarpanelen. |
void setMaxHeight (dubbelvärde) | Ställer in den maximala höjden på ankarpanelen. |
void setPrefHeight (dubbelvärde) | Ställer in önskad höjd på ankarpanelen. |
void setMinWidth (dubbelvärde) | Ställer in minsta bredden på ankarpanelen. |
void setMaxWidth (dubbelvärde) | Ställer in den maximala bredden på ankarpanelen. |
void setPrefWidth (dubbelvärde) | Ställer in önskad bredd på ankarpanelen. |
void setPadding (Insets värde) | Ställer vadderingen runt inuti kanterna på stapeln
. |
För att skapa en förankringsruta, ring AnchorPane-konstruktören och ge de noder du vill lägga till. Till exempel:
Rektangel r1 = Ny rektangel (400, 200); r1. setFill (Color. LIGHTGRAY); Rektangel r2 = Ny rektangel (200, 400); r2. setFill (Color. DARKGRAY); AnchorPane anchor = nytt AnchorPane (r1, r2);
Här skapas ett par rektanglar, en 400 × 200, den andra 200 × 400. En är fylld ljusgrå, den andra mörkgrå. Sedan skapas en förankringsruta och de två rektanglarna läggs till.
Du använder sedan setTopAnchor, setRightAnchor, setBottomAnchor och setLeftAnchor metoder för att förankra noderna i kanterna av ankarpanelen. Var och en av dessa metoder accepterar två parametrar: noden du vill förankra och ett förskjutningsvärde som låter dig anka noden ett visst avstånd från kanten.
Till exempel, för att fästa rektangeln r1 till de övre och vänstra kanterna och rektangeln r2 till de övre och högra kanterna, använd följande rader:
ankare. setTopAnchor (r1, 0. 0); ankare. setLeftAnchor (r1, 0. 0); ankare. setTopAnchor (r2, 0. 0); ankare. setRightAnchor (r2, 0. 0);
Nedan visas hur denna ankarpanel visas när den visas i en scen.
Två rektanglar som visas i en förankringsruta.Fönstret i den övre delen av Figur 1 visar hur den här rutan visas när den först visas. Här kan du se hur den ljusgrå rektangeln är förankrad till det övre vänstra hörnet av layouten och den mörkgrå rektangeln är förankrad i det övre högra hörnet.
Ankarpanelen är initialt så stor att innehållet passar snyggt. Som ett resultat överlappar den mörkgrå rektangeln den ljusgråa rektangeln. Fönstret i nedre delen av figuren visar hur layouten visas när användaren sträcker fönstret, så att ankarlayoutrutan kan växa. När ankarpanelen blir bredare sitter den ljusgråa rektangeln i det övre vänstra hörnet av layouten, medan den mörkgrå rektangeln följer det övre högra hörnet av rutan. Således separerar rektanglarna.