答案 0 :(得分:2)
GC.setLineWidth(2);
GC.setStroke(LASSO_COLOR);
GC.beginPath();
hdashed(x0, x1, y0);
hdashed(x0, x1, y1);
vdashed(x0, y0, y1);
vdashed(x1, y0, y1);
GC.closePath();
GC.stroke();
private void hdashed(double x0, double x1, double yy)
{
boolean on = true;
GC.moveTo(x0, yy);
for (double xx=x0; xx<=x1; xx+=DASH_LENGTH) {
if (on) GC.lineTo(xx, yy);
else GC.moveTo(xx, yy);
on = !on;
}
}
private void vdashed(double xx, double y0, double y1)
{
boolean on = true;
GC.moveTo(xx, y0);
for (double yy=y0; yy<=y1; yy+=DASH_LENGTH) {
if (on) GC.lineTo(xx, yy);
else GC.moveTo(xx, yy);
on = !on;
}
}
答案 1 :(得分:2)
虚线有一个方法setLineDashes,一切都和以前一样:
...
gc.setStroke(Color.RED);
gc.setLineWidth(1);
gc.setLineDashes(2);
gc.strokeLine(x1, y1, x1, y1);
答案 2 :(得分:1)
JFX 8u40中添加了此功能。有关详细信息,请参阅API。