Table des matières
Le Tutoriel de JavaFX Line
View more Tutorials:


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.


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);
}
}
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 miterLengh và strokeWidth.

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".
