GrowLine.java

Download source from GrowLine.jar


GrowLine.java

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Group;
//import javafx.scene.Cursor;
import javafx.scene.*;
import javafx.event.EventHandler;
import javafx.scene.paint.*;
import javafx.scene.shape.*;
import javafx.collections.*;
import javafx.geometry.Point2D;
import javafx.geometry.Bounds;
import javafx.scene.input.* ;
import javafx.scene.layout.Pane;
import java.lang.Math;

import javafx.scene.control.Button;
import javafx.event.ActionEvent;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;

import java.util.ArrayList;

public class GrowLine extends Application {
    Group grp = new Group();
    Line line = null;

    public void start(Stage stage) {
	// Create a border pane 
    	BorderPane pane = new BorderPane();
	Scene scene = new Scene(pane, 400, 400);

	Pane mypane = new Pane();
	pane.setCenter(mypane);
	mypane.getChildren().add(grp);



	grp.setTranslateX(scene.getWidth()/2);
	grp.setTranslateY(scene.getHeight()/2);
	double res = 96;
	grp.setScaleX(res);
	grp.setScaleY(res);

	Grid.draw(grp);


	grp.setOnMousePressed( e ->
	{
	    //System.out.println("event type " + e.getEventType());
	    //System.out.println("Local " + e.getX() + "  " + e.getY());
	    double x = e.getX();
	    double y = e.getY();
	    line = new Line(x,y,x,y);
	    line.setStrokeWidth(2/res);
	    line.setStrokeLineCap(StrokeLineCap.ROUND);
	    grp.getChildren().add(line);
	}
	);

	grp.setOnMouseDragged( e ->
	{
		
		line.setEndX(e.getX());
		line.setEndY(e.getY());
	}
	);


	

        stage.setTitle("GrowLine");
        stage.setScene(scene);
        stage.show();

    }


}


Maintained by John Loomis, updated Mon Mar 05 12:17:06 2018