在JavaFX窗格上选择对象

时间:2015-04-19 10:49:47

标签: javafx selection multipleselectionmodel

我创建了一个在JavaFX窗格上绘制对象的应用程序(矩形,路径,自定义控件等)。

现在我希望能够选择这些对象来移动,复制或分组它们。 javafx窗格默认没有selectionModel,我不知道如何实现这样的功能。

如果有人知道如何做到这一点,我将不胜感激

1 个答案:

答案 0 :(得分:0)

您需要创建自己的选择模型。

首先创建一个SelectionModel类。在那你放了一套。为了将节点放入该集合,您必须创建一个鼠标处理程序,将节点添加到模型中,并根据在您单击节点时按下的shift / ctrl将其从模型中移除。

当您通过鼠标移动选区时,您将获得当前单击节点的位置,而不是移动事件处理程序中的单个节点,您可以移动SelectionModel中列表的所有节点。

为了对它们进行分组,您需要创建一个类/集合,您可以在其中存储所选的各种节点。通常该组只是父节点。但这取决于您的要求。

复制/粘贴是另一回事。您需要创建某种工厂,根据选择模型中的节点创建和定位新节点。

这是一个example with code的开始。它向您展示了如何选择节点。