Usando la organización anchorpane en javafx

Un panel de anclaje en JavaFX es similar a un borde de panel en el que se deja posición de los nodos en relación con uno de los bordes del panel. Sin embargo, aquí hay varias diferencias clave:

  • En un panel de borde, el área de diseño se divide en cinco áreas distintas: arriba, derecha, abajo, izquierda y centro. Un panel de anclaje no divide el diseño en diferentes áreas. En su lugar, cada nodo en el diseño puede ser atado - o anclado - a uno o más de los cuatro bordes del área de diseño. Cuando un nodo está anclado a un borde, el panel de anclaje posicionará el nodo lo más cerca posible a que el borde después de tener en otros nodos.

  • Un nodo puede estar anclado a más de un borde. Por ejemplo, un nodo puede estar anclado a los bordes superior y derecho, que colocará el nodo de la esquina superior derecha de la disposición.

  • Si un nodo está anclada a los bordes opuestos (superior e inferior o izquierda y derecha), el nodo será tirado hacia ambos bordes de la disposición. Esto resulta en la nodo que se estiran como el tamaño de los aumentos de diseño.

    Video: JavaFX. Tutorial#2. BorderPane, HBox, VBox. (Урок 2) rus

  • Más de un nodo puede estar anclado a cada borde. En ese caso, los nodos se solaparán como lo harían en un panel de pila.

La siguiente tabla muestra los métodos y constructores de la AnchorPane clase, que se utiliza para crear un panel de anclaje.

ConstructorDescripción
AnchorPane ()Crea un panel de anclaje vacía.
AnchorPane (Nodo ... los niños)Crea un panel de anclaje con los nodos secundarios especificados.
MétodoDescripción
ObservableList
getChildren ()
Devuelve el conjunto de todos los nodos secundarios que se han añadido
al panel de anclaje. La colección se devuelve como una ObservableList tipo, que incluye los métodos
añadir y añadir todo,
que le permite agregar uno o más nodos a la lista.
estática setTopAnchor vacío (nodo Nodo, Doble
valor)
Ancla el nodo especificado en el borde superior. Valor
indica el desplazamiento del borde.
estática setRightAnchor vacío (nodo Nodo, Doble
valor)
Ancla el nodo especificado para el borde derecho. Valor
indica el desplazamiento del borde.
estática setBottomAnchor void (nodo de nodo,
valor doble)
Ancla el nodo especificado en el borde inferior. Valor
indica el desplazamiento del borde.
estática setLeftAnchor vacío (nodo Nodo, Doble
valor)
Ancla el nodo especificado para el borde izquierdo. Valor
indica el desplazamiento del borde.
void setMinHeight (valor doble)Establece la altura mínima del panel de anclaje.
void setMaxHeight (valor doble)Establece la altura máxima del panel de anclaje.
void setPrefHeight (valor doble)Establece la altura preferida del panel de anclaje.
setMinWidth void (valor doble)Establece la anchura mínima del panel de anclaje.
setMaxWidth void (valor doble)Establece la anchura máxima del panel de anclaje.
setPrefWidth void (valor doble)Establece la anchura preferida del panel de anclaje.
setPadding vacío (valor recuadros)Establece el relleno alrededor de los bordes interiores de la pila
cristal.

Para crear un panel de anclaje, llame al AnchorPane constructor y pasar los nodos que desee agregar. Por ejemplo:

Video: JavaFX Introdução Parte 7 Layout MDI

Rectángulo r1 = new Rectangle (400,200) -r1.setFill (Color.LIGHTGRAY) -Rectangle r2 = new Rectangle (200.400) -r2.setFill (Color.DARKGRAY) de anclaje -AnchorPane = new AnchorPane (R1, R2) -

Aquí, se crea un par de rectángulos, uno 400 × 200, el otro 200 × 400. Uno se llena de color gris claro, gris oscuro al otro. A continuación, se crea un panel de anclaje y se añaden los dos rectángulos.

A continuación, utiliza la setTopAnchor, setRightAnchor, setBottomAnchor, y setLeftAnchor métodos para anclar los nodos a los bordes del panel de anclaje. Cada uno de estos métodos acepta dos parámetros: el nodo que desea anclar y un valor de desplazamiento que le permite anclar el nodo de una cierta distancia del borde.

Por ejemplo, para anclar rectángulo r1 a los bordes superior e izquierdo y el rectángulo r2 a los bordes superior e izquierdo, utilice estas líneas:

anchor.setTopAnchor (R1, 0.0) -anchor.setLeftAnchor (R1, 0.0) -anchor.setTopAnchor (R2, 0.0) -anchor.setRightAnchor (R2, 0.0) -

A continuación se muestra cómo aparecerá este panel de anclaje cuando se muestra en una escena.

Dos rectángulos que aparecen en un panel de anclaje.
Dos rectángulos que aparecen en un panel de anclaje.

La ventana en la parte superior de la Figura 1 muestra cómo aparece este panel cuando se muestra inicialmente. Aquí, se puede ver cómo el rectángulo gris claro está anclado a la esquina superior izquierda de la presentación, y el rectángulo gris oscuro está anclado a la esquina superior derecha.

El panel de anclaje está dimensionado inicialmente para que su contenido se ajustan perfectamente. Como resultado, el rectángulo gris oscuro solapa con el rectángulo de color gris claro. La ventana en la parte inferior de la figura muestra cómo aparece la disposición cuando el usuario extiende la ventana, permitiendo que el panel de diseño de anclaje para crecer. A medida que el panel de anclaje se hace más ancha, el rectángulo gris la luz permanece fija en la esquina superior izquierda de la presentación, mientras que el rectángulo gris oscuro sigue la esquina superior derecha del panel. Por lo tanto, los rectángulos se separan.

Artículos Relacionados