java - 在 JavaFX 中动态添加组件

标签 java graph javafx nodes dynamically-generated

更新:由于对该主题的了解不足,问题不正确。抱歉。

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

我有一个大 Pane ,它起着 Canvas 的作用。我将向其中添加和删除元素。问题是我想使用按钮或上下文菜单动态添加删除图形元素。有点Paint for Graphs :) 我不知道如何实现它。 特别是我迫切需要动态添加/删除机制方面的帮助。我将非常感谢您的帮助!

最佳答案

只需获取要添加内容的 Pane 的子列表,然后在发生适当的操作时添加内容即可。

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

注释:

  • 如果您想使用Pane而不是FlowPane ,那么Pane没有内部布局,所以还需要设置layoutXlayoutY添加到 Pane 时适本地设置属性。

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

关于java - 在 JavaFX 中动态添加组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35489213/

相关文章:

java - Spring MVC 运行 cron 作业

java - aws lambda没有将json请求转换为POJO

javafx IllegalArgumentException(已设置为另一个场景的根)

java - 使用 Linkedhashmap 测试算法

java - 可以使用jdbi建立多个数据库连接吗

algorithm - 计算最大独立集算法的正确性

java - 具有固定原点的图形

graph - elixir 中是否有图表库?

java - JavaFX 和 FXML 项目之间的区别?

java - 如何使用 javafx 在工具提示中包装文本?