Como criar linhas e formas no JavaFX

Você pode criar linhas, retângulos, círculos e arcos em JavaFX. Você pode facilmente modificar os tamanhos, cantos e outros atributos de formas. Aqui estão listagens de código e exemplos para cada um.

Criar linhas em JavaFX

O tipo mais básico de forma é uma linha, criada com o Linha classe. Para criar uma linha, você especifica o x e y Coordenadas do início e do fim da linha, como neste exemplo:

Linha line1 = new Line (0, 0, 100, 200) -

Este código cria uma linha que vai de (0,0) para (100, 200).

As linhas da grelha nesta figura foram atraídos por formas de linha dentro de uma para loop, como este:

for (int i = 0- i lt; 600- i + = 10) {Linha line1 = new Line (i, 0, i, 600) -line1.setStroke (Color.LIGHTGRAY) Linha line2 = new Line (0, i, 600, i) -line2. . setStroke (Color.LIGHTGRAY) -group1.getChildren () addAll (line1, line2) -}

o para laço itera uma variável Eu 0-600 em incrementos de 10. Em cada iteração do circuito, duas linhas são criadas: uma linha vertical que utiliza a variável Eu como seu eixo X e uma linha horizontal que usa a variável Eu como seu eixo y. A cor derrame para cada linha é definido como cinza claro, e as linhas são, em seguida, adicionada a uma Grupo objeto nomeado grupo 1.

Criar retângulos em JavaFX

Um retângulo requer uma (X, y) ponto, uma largura e uma altura inicial. Aqui está o código que cria um retângulo:

Retângulo R1 = new Rectangle (50,25,100,140) -r1.setStroke (Color.BLACK) -r1.setFill (null) -r1.setStrokeWidth (3) -

Aqui, o rectângulo começa em (50, 25). Sua largura é 100, e sua altura é 140. Observe que a cor de preenchimento está definido para nulo de modo que o rectângulo será transparente.

Você pode criar um retângulo com cantos arredondados, chamando o setArcWidth e setArcheight métodos. Aqui é o rectângulo arredondado no meio da primeira linha de formatos mostrados na figura:

Retângulo r2 = new Rectangle(250,25,100,140)-r2.setStroke(Color.BLACK)-r2.setFill(null)-r2.setStrokeWidth(3)-r2.setArcWidth(25)-r2.setArcHeight(25)-

Aqui, os cantos são arredondados com um arco cuja altura e largura são ambos 25.

Você pode criar algumas formas interessantes usando valores desiguais para a largura e altura do arco. Para a terceira forma na primeira linha da figura, a largura do arco é ajustado para 75 e a altura de 125:

image0.jpg
Retângulo R3 = new Rectangle(450,25,100,140)-r3.setStroke(Color.BLACK)-r3.setFill(null)-r3.setStrokeWidth(3)-r3.setArcWidth(75)-r3.setArcHeight(125)-

Criar círculos em JavaFX

Para criar um círculo, você usa o Círculo classe, especificando o xey coordenadas do centro do círculo e o raio. Aqui está o código que cria o círculo na figura:

Círculo c1 = new Circle (100, 300, 75) -c1.setStroke (Color.BLACK) -c1.setFill (null) -c1.setStrokeWidth (3) -

A elipse é semelhante a um círculo, mas tem dois raios: um no eixo dos X, o outro no eixo y. Você especifica ambos os raios no construtor. Aqui está o código que cria a primeira elipse na figura:

Ellipse e1 = new Ellipse (300, 300, 75, 40) -e1.setStroke (Color.BLACK) -e1.setFill (null) -e1.setStrokeWidth (3) -

A segunda elipse é semelhante, mas o x e y-raios são invertidos:

Ellipse e2 = new Ellipse (300, 300, 40, 75) -

Criar arcos em JavaFX

Outro tipo de forma útil é um arco, que é um segmento de uma elipse. Para criar um arco, você fornece os parâmetros para a elipse e, em seguida, você fornecer o ângulo em que o arco começa: 0 é devido a leste (03:00 em uma face do relógio). Finalmente, você fornece o comprimento, o que representa a quantidade da elipse os vãos de arco e é igualmente expressa em graus.

A coisa importante a saber é que o arco viaja sentido anti-horário a partir do ponto de partida. Se você especificar / 90 como o ponto de partida e 90 como a extensão e o arco se desloca a partir de 12:00 a 09:00 de alta, conforme mostrado na primeira forma na terceira linha da figura.

JavaFX pode criar três tipos de arcos, que você pode especificar, através do setType método:

  • ArcType.OPEN: Indica que você deseja desenhar apenas o próprio arco

  • ArcType.CHORD: Significa que você quer desenhar o arco e depois ligar as extremidades com uma linha reta para criar uma forma fechada

  • ArcType.ROUND: Significa que você deseja usar linhas retas para ligar as extremidades para o centro da elipse, criando, assim, uma forma que se parece com um pedaço de torta

Aqui está um exemplo que cria o primeiro arco mostrado na figura:

Arc a1 = new Arc (150, 550, 100, 100, 90, 90) -a1.setType (ArcType.OPEN) -a1.setStroke (Color.BLACK) -a1.setFill (null) -a1.setStrokeWidth (3) -

O segundo arco é criado com estas declarações:

Arc a2 = new Arc (300, 550, 100, 100, 45, 90) -a2.setType (ArcType.CHORD) -a2.setStroke (Color.BLACK) -a2.setFill (null) -a2.setStrokeWidth (3) -

Finalmente, o terceiro arco (a fatia de pizza) é criada por estas declarações:

Arc a3 = new Arc (500, 550, 100, 100, 45, 90) -a3.setType (ArcType.ROUND) -a3.setStroke (Color.BLACK) -a3.setFill (null) -a3.setStrokeWidth (3) -

menu