在JavaFX中动态添加组件

时间:2016-02-18 18:10:08

标签: java graph javafx nodes dynamically-generated

更新:问题不正确,因为对主题的了解不足。遗憾。

我正在尝试创建一个小应用程序,该应用程序显示的图表中包含nodesconnections。节点和连接都很复杂,我的意思是它们可以有其他组件,比如标签。

我有一个扮演画布角色的大窗格。我要添加和删除元素。问题是我想使用按钮或上下文菜单动态地addremove图元素。排序Paint for Graphs :)我不知道如何实现它。 特别是我迫切需要dynamical adding/removing mechanism的帮助。我非常感谢你的帮助!

1 个答案:

答案 0 :(得分:3)

只需获取要添加内容的窗格的子列表,并在适当的操作发生时添加内容。

FlowPane pane = new FlowPane();
Button addNode = new Button("Add");
addNode.setOnAction(e -> pane.getChildren().add(new Circle(10));

注意:

  • 如果您想使用Pane而不是FlowPane,则Pane没有内部布局,因此您还需要设置layoutX和{{3}添加到窗格时适当的属性。

  • 如果要更改窗格中节点的渲染顺序(例如,哪些节点在底部呈现,哪些节点在顶部呈现),则可以通过在子列表中的适当位置添加新节点来实现;例如,pane.getChildren().add(0, new Circle(10))会添加一个圆圈,该圆圈会在窗格的所有其他子项下面呈现,而不是在顶部。