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