Usando o layout anchorpane em javafx

A painel escora

em JavaFX é semelhante a uma borda do painel na medida em que permite posicionar os nós em relação a uma das bordas do painel. No entanto, aqui estão várias diferenças importantes:

  • Em um painel de fronteira, área de layout é dividido em cinco áreas distintas: superior, direita, inferior, esquerda e centro. Um painel de âncora não dividir o layout em áreas distintas. Em vez disso, cada nó no layout pode ser amarrado - ou ancorado - a uma ou mais das quatro bordas da área de layout. Quando um nó está ancorado a um bordo, 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.

    Video: Productive UI Design with JavaFX Scene Builder

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

  • Se um nó está ancorado com os bordos opostos superior e inferior (ou para a esquerda e para a direita), o nó irá ser puxado para ambas as extremidades da disposição. Isto resulta no nó a ser esticado como o tamanho da disposição aumenta.

  • Mais do que um nó pode ser ancorado a cada aresta. Nesse caso, os nós se sobrepõem como se estivessem em um painel de 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 ... crianças)Cria um painel escora com os nós filho especificados.
MétodoDescrição
ObservableList
getChildren ()
Retorna a coleção de todos os nós filhos que foram adicionados
para o painel de âncora. A coleção é retornada como um ObservableList tipo, que inclui os métodos
adicionar e addAll,
que permite que você adicione um ou mais nós à lista.
setTopAnchor static void (nó Node, Duplo
valor)
Ancora o nó especificado para a extremidade superior. Valor
indica o deslocamento do bordo.
setRightAnchor static void (nó Node, Duplo
valor)
Ancora o nó especificado para a margem direita. Valor
indica o deslocamento do bordo.
setBottomAnchor static void (nó Node,
Double valor)
Ancora o nó especificado para a borda inferior. Valor
indica o deslocamento do bordo.
setLeftAnchor static void (nó Node, Duplo
valor)
Ancora o nó especificado para o canto esquerdo. Valor
indica o deslocamento do bordo.
vazio setMinHeight (valor duplo)Define a altura mínima do painel de âncora.
vazio setMaxHeight (valor duplo)Define a altura máxima do painel de âncora.
vazio setPrefHeight (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 âncora.
setPrefWidth void (valor duplo)Define a largura preferencial do painel de âncora.
vazio setPadding (valor Insets)Define o preenchimento em torno das bordas para dentro da pilha
painel.

Para criar um painel de âncora, ligue para o AnchorPane construtor e transmite os nós que você 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 retângulos, um 400 × 200, o outro 200 × 400, é criado. Uma é preenchido cinza claro, o outro cinza escuro. Em seguida, um painel de âncora é criado e os dois retângulos são adicionados.

Você, então, usar o setTopAnchor, setRightAnchor, setBottomAnchor, e setLeftAnchor métodos para ancorar os nós para as 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ó de uma determinada distância a partir da borda.

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

Video: JavaFX: Animated Workbench Layout

anchor.setTopAnchor (R1, 0.0) -anchor.setLeftAnchor (R1, 0.0) -anchor.setTopAnchor (r2, 0,0) -anchor.setRightAnchor (r2, 0.0) -

A seguir mostra como esse painel âncora aparecerá quando exibida em uma cena.

Dois retângulos exibidas em um painel de âncora.
Dois retângulos exibidas em um painel de âncora.

A janela na parte superior da Figura 1 mostra como esse painel aparece quando ele é inicialmente exibido. 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 o layout aparece quando o usuário se estende a janela, permitindo que o painel de layout de âncora para crescer. Como o painel de âncora fica mais largo, 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.


Publicações relacionadas