公告
财富商城
积分规则
提问
发文
2019-02-18 17:14发布
在下西门庆
I'm using JavaFX GraphicsContext for immediate mode drawing on a Canvas.
Is it possible to draw dashed lines?
Thanks!
This feature has been added in JFX 8u40. See API for details.
There is a method setLineDashes for dashed line and everything is as before:
... gc.setStroke(Color.RED); gc.setLineWidth(1); gc.setLineDashes(2); gc.strokeLine(x1, y1, x1, y1);
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; } }
最多设置5个标签!
This feature has been added in JFX 8u40. See API for details.
There is a method setLineDashes for dashed line and everything is as before: