Il
GridPaneclass crea un riquadro di layout JavaFX che posiziona i controlli in base a una posizione di colonna e riga. La griglia contenuta in questo layout non è predefinita. Crea colonne e righe quando viene aggiunto ciascun controllo. Ciò consente alla griglia di essere completamente flessibile nel suo design.
I nodi possono essere posizionati in ogni cella della griglia e possono estendersi su più celle in verticale o in orizzontale. Per impostazione predefinita, le righe e le colonne verranno ridimensionate per adattarsi al loro contenuto, ovvero il nodo figlio più largo definisce la larghezza della colonna e il nodo figlio più alto l'altezza della riga.
import javafx.scene.layout.GridPane;
Il
GridPanela classe ha un costruttore che non accetta alcun argomento:
GridPane playerGrid = new GridPane ();
I nodi figlio vengono aggiunti a
GridPaneusando il metodo add specificando il nodo da aggiungere con l'indice di colonna e riga:
// Posiziona il controllo Text nella colonna 1, riga 8
Text rank4 = new Text ("4");
playerGrid.add (rank4, 0,7);
Nota: L'indice di colonna e riga inizia da 0. Quindi la prima cella posizionata nella colonna 1, riga 1 ha un indice di 0, 0.
I nodi figlio possono anche estendersi su più colonne o righe. Questo può essere specificato in
Inseriscimetodo aggiungendo il numero di colonne e righe da estendere alla fine degli argomenti passati:
// Qui il controllo Text si estende su 4 colonne e 1 riga
Titolo del testo = nuovo testo ("I migliori marcatori della Premier League inglese");
playerGrid.add (titolo, 0,0,4,1);
Nodi secondari contenuti nel file
GridPanepossono avere il loro allineamento lungo l'asse orizzontale o verticale usando il tasto
setHalignmente
setValignmentmetodi:
GridPane.setHalignment (goals4, HPos.CENTER);
Nota: Il
vPOSenum contiene quattro valori costanti per definire la posizione verticale:
BASELINE,
PARTE INFERIORE,
CENTROe
SUPERIORE. Il
Posizione Orizzontaleenum contiene solo tre valori per la posizione orizzontale:
CENTRO,
SINISTRAe
GIUSTO.
Il riempimento dei nodi figlio può essere impostato anche usando
setPaddingmetodo. Questo metodo accetta il nodo figlio impostato e
insertioggetto che definisce il riempimento:
// imposta il riempimento per tutte le celle in GridPane
playerGrid.setPadding (nuovi inserti (0, 10, 0, 10));