我正在研究一个绘画程序,其中单击一个按钮以切换绘制线条的按钮。我的代码没有执行我想要的操作,而是在我尝试绘制多条线时绘制一个奇怪的扇形。我希望它能够用鼠标绘制多条直线。
canvas.addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
initialTouch = new Pair<>(event.getX(), event.getY());
}
});
canvas.addEventHandler(MouseEvent.MOUSE_DRAGGED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
gc.strokeLine(initialTouch.getKey(), initialTouch.getValue(), event.getX(), event.getY());
}
});
canvas.addEventHandler(MouseEvent.MOUSE_RELEASED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
}
});
}```
That method is called when a button is pushed to draw the line. I am expecting multiple lines, but I stead get a fan shape.
答案 0 :(得分:0)
您要做的是:
您创建起点。 然后为每个DRAG移动创建一个从开始位置到新位置的OWN行。因此,您创建了很多类似形状的线。
您想要的是:
创建一个起点,然后绘制到终点。 因此,释放鼠标时,您只应在图形上下文中画一条线。
将“拖拉”中的操作移至“已发布”部分,即可完成工作。
当您需要“预览”时,应使用线对象并将其添加到视图中,然后释放鼠标时,应将其删除。