2012-12-11 34 views
1

与其他工程师,我们创建一个软件(www.openmole.org)创建和运行计算机网格上的复杂工作流。在GUI中,您可以创建和修改一些复杂的拖放工作流程是这样的:子窗口面板到与javafx的画布场景

enter image description here

您还可以在这里看到了一个视频:http://www.openmole.org/files/crazyCoconut.webm

正如你所看到的,有可能拖放下并连接每个任务以制作复杂的工作流程。当任务移动时,箭头移动以跟随鼠标移动。当你点击一个任务时,一个新的面板打开,所以你可以选择一些选项来配置每个任务。

实际上,我们使用一个Netbean库在独特的场景中绘制所有这些,但将来我们要使用javafx api/object来做同样的事情。

因此,您认为是否有可能通过Canvas场景和api来打开新的Javafx Nodes子窗口,就像在这个简单的用例中,代表我们的用例一样?

如果没有,您是否知道一些其他库可以使这成为可能?

enter image description here

+0

请尝试详细阐述一下,我不明白你的问题。 – sarcan

+0

@sarcan我更新了描述,希望这更清晰 – reyman64

回答

2

不能放在一个Canvas节点,因为它是不Parent,因此它是叶Node,可以有没有孩子。

您可以将画布放置在Group中,然后将其他节点添加到该组以覆盖画布。或者,您可以拍摄节点的snapshot图像并将快照放在画布中。尽管在标准场景图中而不是画布中渲染UI可能会更好。


下面是类似一些简单的样品中,虽然不同,用户界面使用标准的场景图构造:Drag and drop connected nodesDynamically add draggable and resizable children

yWorks创建了其优秀的图表工具的JavaFX原型,所以考虑联系他们和授权,而不是建立自己的。

另请参阅帮助数据可视化UI构建的Dex JavaFX Visualization Framework

+0

我认为这里最好的方法应该是放置在StackPane中的画布上方(绘制连接)的任务节点组。快照的想法当然也会起作用,但会限制用户的互动。 – sarcan

+0

@jewelsea你是否有一些库/函数的例子可以帮助我在标准场景图中设计这种形式的UI? – reyman64

+0

添加要回答的示例链接 – jewelsea