DrawingLines.java//package com.jfxbe;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Slider;
import javafx.scene.paint.Color;
import javafx.scene.shape.Line;
import javafx.scene.shape.StrokeLineCap;
import javafx.scene.text.Text;
import javafx.stage.Stage;
/**
* Drawing Lines
* @author carldea
*/
public class DrawingLines extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle(" Drawing Lines");
Group root = new Group();
Scene scene = new Scene(root, 300, 150, Color.rgb(220,220,220));
// Red line
Line redLine = new Line(10, 10, 200, 10);
// setting common properties
redLine.setStroke(Color.RED);
redLine.setStrokeWidth(10);
redLine.setStrokeLineCap(StrokeLineCap.BUTT);
// creating a dashed pattern
redLine.getStrokeDashArray().addAll(10d, 5d, 15d, 5d, 20d);
redLine.setStrokeDashOffset(0);
root.getChildren().add(redLine);
// White line
Line whiteLine = new Line(10, 30, 200, 30);
whiteLine.setStroke(Color.WHITE);
whiteLine.setStrokeWidth(10);
whiteLine.setStrokeLineCap(StrokeLineCap.ROUND);
root.getChildren().add(whiteLine);
// Blue line
Line blueLine = new Line(10, 50, 200, 50);
blueLine.setStroke(Color.BLUE);
blueLine.setStrokeWidth(10);
root.getChildren().add(blueLine);
// slider min, max, and current value
Slider slider = new Slider(0, 100, 0);
slider.setLayoutX(10);
slider.setLayoutY(95);
// bind the stroke dash offset property
redLine.strokeDashOffsetProperty().bind(slider.valueProperty());
root.getChildren().add(slider);
Text offsetText = new Text("Stroke Dash Offset: " + slider.getValue());
offsetText.setX(10);
offsetText.setY(80);
offsetText.setStroke(Color.WHITE);
// display stroke dash offset value
slider.valueProperty().addListener((ov, curVal, newVal) -> {
offsetText.setText("Stroke Dash Offset: " + newVal );
});
root.getChildren().add(offsetText);
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
Maintained by John Loomis, updated Fri Feb 09 12:37:06 2018