Vídeo: JavaFX Settings UI Design - Scene builder and Netbeans 2024
Um painel de âncora no JavaFX é semelhante a um painel de borda na medida em que ele permite posicionar nós em relação a uma das bordas do painel. No entanto, aqui estão várias diferenças principais:
-
Em um painel de borda, a área de layout é dividida em cinco áreas distintas: superior, direita, inferior, esquerda e central. Um painel de âncora não divide o layout em áreas distintas. Em vez disso, cada nó no layout pode ser amarrado - ou ancorado - para uma ou mais das quatro bordas da área de layout. Quando um nó é ancorado a uma borda, o painel de âncora posicionará o nó o mais próximo possível dessa borda depois de permitir outros nós.
-
Um nó pode ser ancorado em mais de uma borda. Por exemplo, um nó pode ser ancorado nas bordas superior e direita, que irá colocar o nó no canto superior direito do layout.
-
Se um nó estiver ancorado em bordas opostas (superior e inferior ou esquerda e direita), o nó será puxado para ambas as bordas do layout. Isso resulta no nó sendo esticado à medida que o tamanho do layout aumenta.
-
Mais de um nó pode ser ancorado em cada uma das bordas. Nesse caso, os nós se sobrepõem como o fizeram em um painel de pilha.
A tabela a seguir mostra os construtores e métodos da classe AnchorPane, que você usa para criar um painel de âncora.
Construtor | Descrição |
---|---|
AnchorPane () | Cria um painel de âncora vazio. |
AnchorPane (Nó … crianças) | Cria um painel de âncora com os nós filhos especificados. |
Método | Descrição |
ObservableList
getChildren () |
Retorna a coleção de todos os nós secundários que foram adicionados
ao painel de âncora. A coleção é retornada como um tipo ObservableList, que inclui os métodos adicionar e addAll, , que permite adicionar um ou mais nós à lista. |
static void setTopAnchor (nó do nó, valor duplo) | ancora o nó especificado na borda superior. Valor
indica o deslocamento da borda. |
static void setRightAnchor (nó do nó, valor duplo) | Âncora o nó especificado na borda direita. Valor
indica o deslocamento da borda. |
static void setBottomAnchor (Nó de nó,
Valor duplo) |
Ancora o nó especificado na borda inferior. Valor
indica o deslocamento da borda. |
static void setLeftAnchor (nó do nó, valor duplo) | Âncora o nó especificado na margem esquerda. Valor
indica o deslocamento da borda. |
void setMinHeight (valor duplo) | Define a altura mínima do painel de âncora. |
void setMaxHeight (valor duplo) | Define a altura máxima do painel de âncora. |
void setPrefHeight (valor duplo) | Define a altura preferida do painel de âncora. |
void setMinWidth (valor duplo) | Define a largura mínima do painel de âncora. |
void setMaxWidth (valor duplo) | Define a largura máxima do painel de âncora. |
void setPrefWidth (valor duplo) | Define a largura preferida do painel de âncora. |
void setPadding (Insets value) | Define o preenchimento em torno das bordas internas do painel
da pilha. |
Para criar um painel de âncora, chame o construtor AnchorPane e passe os nós que deseja adicionar. Por exemplo:
Rectangle r1 = novo Rectangle (400, 200); r1. setFill (Color. LIGHTGRAY); Rectangle r2 = novo Rectangle (200, 400); r2. setFill (Color. DARKGRAY); AnchorPane anchor = New AnchorPane (r1, r2);
Aqui, um par de retângulos, um 400 × 200, outro 200 × 400, é criado. Um é cheio de cinza claro, o outro cinza escuro. Então, um painel de âncora é criado e os dois retângulos são adicionados.
Você usa os métodos setTopAnchor, setRightAnchor, setBottomAnchor e setLeftAnchor para ancorar os nós nas bordas do painel de âncora. Cada um desses métodos aceita dois parâmetros: o nó que deseja ancorar e um valor de deslocamento que permite ancorar o nó a uma certa distância da borda.
Por exemplo, para ancorar o retângulo r1 nas bordas superior e esquerda e no retângulo r2 nas bordas superior e direita, use estas linhas:
âncora. setTopAnchor (r1, 0. 0); âncora. setLeftAnchor (r1, 0. 0); âncora. setTopAnchor (r2, 0. 0); âncora. setRightAnchor (r2, 0. 0);
O seguinte mostra como este painel de âncora aparecerá quando exibido em uma cena.
Dois retângulos exibidos em um painel de âncora.A janela na parte superior da Figura 1 mostra como este painel aparece quando ele é exibido inicialmente. Aqui, você pode ver como o retângulo cinza claro está ancorado no canto superior esquerdo do layout e o retângulo cinza escuro está ancorado no canto superior direito.
O painel de âncora é inicialmente dimensionado para que seu conteúdo se encaixe perfeitamente. Como resultado, o retângulo cinza escuro sobrepõe o retângulo cinza claro. A janela na parte inferior da figura mostra como o layout aparece quando o usuário estica a janela, permitindo que o painel de layout da âncora cresça. À medida que o painel de âncora fica mais largo, o retângulo cinza claro permanece colocado no canto superior esquerdo do layout, enquanto o retângulo cinza escuro segue o canto superior direito do painel. Assim, os retângulos se separam.