devstory

Le Tutoriel de JavaFX Line

View more Tutorials:

Suivez-nous sur notre fanpage pour recevoir des notifications chaque fois qu'il y a de nouveaux articles. Facebook

1- JavaFX Line

En JavaFX, la classe Line est utilisée pour tracer une ligne droite. Comme les classes Rectangle, Circle,.. elles sont toutes étendues de classe Shape. 

2- Exemple de Line

LineDemo.java

package org.o7planning.javafx.line;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Line;
import javafx.stage.Stage;

public class LineDemo extends Application {

    @Override
    public void start(Stage stage) {

        // A line in Ox Axis
        Line oxLine1 = new Line(0, 0, 400, 0);

        // Stroke Width
        oxLine1.setStrokeWidth(5);
        oxLine1.setStroke(Color.BLUE);

        // A line in Oy Axis
        Line oyLine = new Line(0, 0, 0, 200);

        // Stroke Width
        oyLine.setStrokeWidth(5);
        oyLine.setStroke(Color.BLUEVIOLET);

        // An other Line
        Line line = new Line();
        line.setStartX(100.0f);
        line.setStartY(200.0f);
        line.setEndX(300.0f);
        line.setEndY(70.0f);
        line.setStrokeWidth(10);
        line.setStroke(Color.PINK);

        AnchorPane root = new AnchorPane();
        root.setPadding(new Insets(15));

        final Scene scene = new Scene(root, 400, 250);

        scene.setFill(null);
        root.getChildren().addAll(oyLine, oxLine1, line);

        stage.setTitle("JavaFX Line (o7planning.org)");
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

3- Les propriétés de Line

smooth
Il rend la valeur true si vous souhaitez activer l'anticrénelage (anti-aliasing), et false pour désactiver l'anticrénelage (anti-aliasing).
strokeWidth
Définissez la largeur d'une ligne.

stroke
Utilisez la méthode setStroke pour définir la couleur de Line.

// Set Line color.

line.setStroke(Color.RED);
Stroke Dash Array
LineStrokeDashArrayDemo.java

package org.o7planning.javafx.line;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.shape.Line;
import javafx.stage.Stage;

public class LineStrokeDashArrayDemo extends Application {

    @Override
    public void start(Stage stage) {

        Line line1 = new Line(20, 40, 270, 40);
        line1.getStrokeDashArray().addAll(25.0, 20.0, 5.0, 20.0);

        Line line2 = new Line(20, 60, 270, 60);
        line2.getStrokeDashArray().addAll(50.0, 40.0);

        Line line3 = new Line(20, 80, 270, 80);
        line3.getStrokeDashArray().addAll(25.0, 10.0);

        Line line4 = new Line(20, 100, 270, 100);
        line4.getStrokeDashArray().addAll(2.0);

        Line line5 = new Line(20, 120, 270, 120);
        line5.getStrokeDashArray().addAll(2.0, 21.0);

        AnchorPane root = new AnchorPane();
        root.setPadding(new Insets(5));

        final Scene scene = new Scene(root, 400, 250);

        root.getChildren().addAll(line1, line2, line3, line4, line5);

        stage.setTitle("JavaFX Line (o7planning.org)");
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
strokeDashOffset
En plus de la propriété, stroke-dashoffset - il est possible de traduire du début jusqu'à le tiret. Cela est contrôlé par la propriété stroke-dashoffset.
strokeLineCap
strokeLineCap - spécifie la forme utilisée à la fin du paragraphe. Il existe trois styles :

  • StrokeLineCap.BUTT
  • StrokeLineCap.ROUND
  • StrokeLineCap.SQUARE
strokeLineJoin
stroke-linejoin: Indique la forme qui est utilisée à l'intersection de deux lignes droites. Il y a 3 types :

  • StrokeLineJoin.MITER
  • StrokeLineJoin.BEVEL
  • StrokeLineJoin.ROUND
strokeMiterLimit
strokeMiterLimit - Est un valeur dans le champ de 0 à 1, il est appliqué dans le cas de strokeLineJoin = StoreLineJoin.MITER pour limiter le rapport entre miterLenghstrokeWidth.
Lorsque l'angle d'intersection entre deux lignes droites devient plus petite (angle est plus étroit), le rapport entre miterLength et storeWidth peut être plus grand que stooreMiterLimit. Dans ce cas, la forme des points d'intersection entre deux droites sera changée de "Mitre-Join" à "Bevel_Join".

View more Tutorials:

Peut-être que vous êtes intéressé

Voici des leçons en ligne à part du site web o7planning que nous recommandons. La liste comprend des leçons en ligne et celles en promo.