如何使用 canvas 预览当前绘制的对象?
How to give a preview of the currently drawn object with canvas?
我是 javafx 的新手,目前正在尝试制作我的第一个绘图程序。目前一切正常,但我遇到了问题。
我希望用户在绘制矩形时看到它的大小。
在 "setOnMouseDragged" 方法中,我尝试绘制矩形的当前大小,然后将其清除,因此可以进行预览。不幸的是,这使我无法在未清除的情况下绘制另一个矩形。
如何进行预览但仍绘制多个对象?
rootCenter.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
oldPosX = event.getSceneX();
oldPosY = event.getSceneY();
}
});
rootCenter.setOnMouseDragged(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
newPosX = event.getSceneX();
newPosY = event.getSceneY();
gContext.clearRect(0, 0, canvas.getWidth(), canvas.getHeight());
gContext.strokeRect(oldPosX, oldPosY, newPosX - oldPosX , newPosY -oldPosY);
}
});
rootCenter.setOnMouseReleased(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
gContext.strokeRect(oldPosX, oldPosY, newPosX - oldPosX , newPosY -oldPosY);
}
});
}
canvas 不是您想要做的事情的正确工具。你为什么不使用场景图呢?使用场景图,您甚至不需要任何预览。您可以直接进行操作。在此处查看文档:https://docs.oracle.com/javafx/2/scenegraph/jfxpub-scenegraph.htm
我是 javafx 的新手,目前正在尝试制作我的第一个绘图程序。目前一切正常,但我遇到了问题。
我希望用户在绘制矩形时看到它的大小。
在 "setOnMouseDragged" 方法中,我尝试绘制矩形的当前大小,然后将其清除,因此可以进行预览。不幸的是,这使我无法在未清除的情况下绘制另一个矩形。
如何进行预览但仍绘制多个对象?
rootCenter.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
oldPosX = event.getSceneX();
oldPosY = event.getSceneY();
}
});
rootCenter.setOnMouseDragged(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
newPosX = event.getSceneX();
newPosY = event.getSceneY();
gContext.clearRect(0, 0, canvas.getWidth(), canvas.getHeight());
gContext.strokeRect(oldPosX, oldPosY, newPosX - oldPosX , newPosY -oldPosY);
}
});
rootCenter.setOnMouseReleased(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
gContext.strokeRect(oldPosX, oldPosY, newPosX - oldPosX , newPosY -oldPosY);
}
});
}
canvas 不是您想要做的事情的正确工具。你为什么不使用场景图呢?使用场景图,您甚至不需要任何预览。您可以直接进行操作。在此处查看文档:https://docs.oracle.com/javafx/2/scenegraph/jfxpub-scenegraph.htm