Usando o layout AnchorPane em JavaFX

A painel escora no JavaFX é semelhante a uma borda do painel na medida em que permite posicionar os nós em relação a um dos bordos da vidraça. No entanto, aqui estão várias diferenças importantes:

  • Em um painel de fronteira, a área de layout é dividido em cinco áreas distintas: a parte superior, direita, inferior, esquerda e centro. Um painel de ancoragem não dividir o layout em áreas distintas. Em vez disso, cada nó no layout pode ser amarrado - ou ancorado - com uma ou mais das quatro bordas da área do plano. Quando um nó está ancorada a uma aresta, o painel de escora vai posicionar o nó tão próximo quanto possível para que a borda depois de permitir que para os outros nós.

  • Um nó pode ser ancorado a mais do que uma borda. Por exemplo, um nó pode ser ancorada ao topo e direito bordas, que irá colocar o nó no canto superior direito do layout.

  • Se um nó está ancorada margens opostas (superior e inferior ou esquerda e direita), o nó será puxado em direção a ambas as extremidades do layout. Isto resulta no nó a ser esticado como o tamanho da disposição aumenta.

  • Mais do que um nó pode ser ancorado a cada extremidade. Nesse caso, os nódulos irão sobrepor-se como se estivessem em um painel pilha.

A tabela a seguir mostra os construtores e métodos da AnchorPane classe, que você usa para criar um painel de âncora.

ConstrutorDescrição
AnchorPane ()Cria um painel âncora vazia.
AnchorPane (Node # 133- crianças)Cria um painel de ancoragem com os nós filho especificados.
MétodoDescrição
ObservableListgetChildren ()Retorna a coleção de todos os nós filhos que foram addedto painel de âncora. A coleção é retornado como um tipo de ObservableList, que inclui os métodos deadicionar e addAll,que permite que você adicione um ou mais nós à lista.
setTopAnchor static void (nó Node, doubleValue)Ancora o nó especificado para o limite superior. Valorindica o deslocamento a partir da borda.
setRightAnchor static void (nó Node, doubleValue)Ancora o nó especificado para a borda direita. Valorindica o deslocamento a partir da borda.
setBottomAnchor static void (nó Node, o valor Duplo)Ancora o nó especificado para a borda inferior. Valorindica o deslocamento a partir da borda.
setLeftAnchor static void (nó Node, doubleValue)Ancora o nó especificado para a borda esquerda. Valorindica o deslocamento a partir da borda.
setMinHeight void (valor duplo)Define a altura mínima do painel de âncora.
setMaxHeight void (valor duplo)Define a altura máxima do painel de escora.
setPrefHeight void (valor duplo)Define a altura preferida do painel de âncora.
setMinWidth void (valor duplo)Define a largura mínima do painel de âncora.
setMaxWidth void (valor duplo)Define a largura máxima do painel de escora.
setPrefWidth void (valor duplo)Define a largura preferida do painel de âncora.
vazio setPadding (valor Insets)Define o preenchimento em torno das bordas internas da stackpane.

Para criar um painel de âncora, ligue para o AnchorPane construtor e passar os nós que deseja adicionar. Por exemplo:

Retângulo R1 = new Rectangle (400.200) -r1.setFill (Color.LIGHTGRAY) -Rectangle r2 = new Rectangle (200.400) -r2.setFill (Color.DARKGRAY) âncora -AnchorPane = new AnchorPane (R1, R2) -

Aqui, um par de rectângulos, um 400x200, 200x400 outro, é criado. Uma é preenchido cinza claro, o outro cinza escuro. Em seguida, um painel escora está criado e os dois rectângulos são adicionados.

Você, então, usar o setTopAnchor, setRightAnchor, setBottomAnchor, e setLeftAnchor métodos para ancorar os nodos às bordas do painel de escora. Cada um desses métodos aceita dois parâmetros: o nó que deseja ancorar e um valor de deslocamento que lhe permite ancorar o nó de uma certa distância a partir da borda.

Por exemplo, para ancorar rectângulo r1 para as bordas e retângulo superior e esquerda r2 para as bordas superior e direita, use estas linhas:

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

O que se segue mostra como esse painel âncora aparecerá quando exibida em uma cena.

Dois rectângulos mostrados num painel de escora.
Dois rectângulos mostrados num painel de escora.

A janela na parte superior da Figura 1 mostra como este painel aparece quando ele é inicialmente apresentada. Aqui, você pode ver como o retângulo cinza claro está ancorado no canto superior esquerdo do layout e do retângulo cinza escuro é ancorada ao canto superior direito.

O painel de âncora é inicialmente dimensionados de modo a que o seu conteúdo se encaixem. Como resultado, o retângulo cinza escuro se sobrepõe a luz retângulo cinza. A janela na parte inferior da figura mostra como a disposição aparece quando o utilizador se estende da janela, permitindo que o painel de escora disposição para crescer. Como o painel de âncora é mais amplo, o retângulo cinza claro fica colocado no canto superior esquerdo do layout, enquanto o retângulo cinza escuro segue o canto superior direito do painel. Assim, os rectângulos separar.

menu