【发布时间】:2016-09-05 13:15:00
【问题描述】:
我认为不可能在 GridPane 中拖动形状是否正确?下面是一些允许用户在屏幕上拖动形状的代码的链接:Drag and Drop Shapes
我希望我的形状具有与上述相同的行为,但我希望它们在 GridPane 中(最终我希望将它们的移动锁定到 X 或 Y 轴以移动到相邻的形状)。
我将以下代码添加到“开始”方法中。它使用与示例代码相同的方法创建圆圈,但将它们添加到网格中。令人惊讶的是,这移除了它们被拖拽的能力。
GridPane grid = new GridPane();
grid.setLayoutX(300);
grid.setLayoutY(100);
int n = 3;
int m = 3;
for (int r = 0; r < n; r++) {
for (int c = 0; c < m; c++) {
Circle circle = createCircle(100, 50, 30, Color.BLACK);
grid.add(circle, c, r);
}
}
root.getChildren().add(grid);
如果你想对此进行测试,只需将上面的代码添加到示例代码的“start”方法中,就在这些行的上方:
primaryStage.setScene(scene);
primaryStage.show();
我的理论是 GridPane,因为它将圆圈锁定在某些位置,不允许这种拖动行为。
关于如何在拖动时实现圆圈沿 X 和 Y 轴移动的任何输入?
【问题讨论】:
标签: java javafx drag-and-drop shapes gridpane