Capacitor2.java

See MyCap.java


Capacitor2.java

// Capacitor2.java

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.*;
import javafx.scene.paint.*;
import javafx.scene.shape.*;
import javafx.collections.*;

public class Capacitor2  {
	double xpos, ypos;
	double angle;
	Color clr;
	Group grp;

    Capacitor2()
    {
	clr = Color.RED;
	xpos = 0.0;
	ypos = 0.0;
	angle = 0.0;
	
    }
    void setAngle(double angle)
    {
	this.angle = angle;
	grp.setRotate(-angle);
    }

   public void setPosition(double x, double y) {
	xpos = x;
	ypos = y;
	grp.setTranslateX(xpos);
	grp.setTranslateY(-ypos);
   }
   public void draw(Group parent) {
        grp = new Group();
	double resc = 0.1;
	grp.setScaleX(resc);
	grp.setScaleY(resc);

	//grp.setRotate(-10.0);
	double res = parent.getScaleX();
	Path p = new Path();
	ObservableList<PathElement> pl = p.getElements();
	double [] xp = { 0.5, 0.7, 0.9 };
	double [] yp = { 1.3, 1.4, 1.5 };
	pl.add(new MoveTo(-2.5,0.0));
	pl.add(new LineTo(-0.5,0.0));
	pl.add(new MoveTo(-0.5,-1.5));
	pl.add(new LineTo(-0.5,1.5));

	pl.add(new MoveTo(0.5,-1.0));
	pl.add(new LineTo(0.5, 1.0));
	pl.add(new CubicCurveTo(xp[0],yp[0],xp[1],yp[1],xp[2],yp[2]));
	pl.add(new MoveTo(0.5,-1.0));
	pl.add(new CubicCurveTo(xp[0],-yp[0],xp[1],-yp[1],xp[2],-yp[2]));

	pl.add(new MoveTo(0.5,0.0));
	pl.add(new LineTo(2.5,0.0));

	ObservableList<Node> ol = grp.getChildren();
	p.setStrokeWidth(20/res);
	p.setStroke(clr);
 	p.setStrokeLineCap(StrokeLineCap.ROUND);

	ol.add(p);

	parent.getChildren().add(grp);
    }
}


Maintained by John Loomis, updated Fri Feb 02 12:41:42 2018