【发布时间】:2014-11-12 18:18:57
【问题描述】:
在我的 JavaFX 项目中,我必须使用 MouseEvent 绘制基本线,我选择使用折线来绘制,但它无法正常工作。找不到问题,这里是MouseEvent代码:
if (event.getButton() == MouseButton.SECONDARY) {
Polyline line = new Polyline();
main.getChildren().add(line);
line.getPoints().add(event.getX());
line.getPoints().add(event.getY());
line.setScaleX(0);
line.setScaleY(0);
line.setStroke(Color.CORAL);
line.setStrokeWidth(4);
} else if (event.getEventType() == MouseEvent.MOUSE_DRAGGED) {
if (event.getButton() == MouseButton.SECONDARY) {
Polyline line = new Polyline();
for (Node s: main.getChildren()) {
if (s instanceof Polyline) {
line.getPoints().add(event.getX());
line.getPoints().add(event.getY());
}
}
main.getChildren().add(line);
}
}
【问题讨论】:
-
请描述您期望这段代码做什么,以及它在做什么与那不同。 (它似乎是在每次拖动时将点添加到某个容器中的所有折线。)它还可能有助于显示此事件处理程序附加到什么以及如何附加。
-
@James_D 这个代码应该画线而不是这些点。
EventHandler<MouseEvent> myHandler = new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) {