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