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.
Construtor | Descrição |
---|---|
AnchorPane () | Cria um painel âncora vazia. |
AnchorPane (Node # 133- crianças) | Cria um painel de ancoragem com os nós filho especificados. |
Método | Descrição |
ObservableList | 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.
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.