2

我是 JavaFX 的新手,最近我在谷歌上搜索了一段时间以了解这一点。我计划在我的 Swing 项目中重写现有的屏幕管理器框架。我有兴趣了解 FX 中 JComponent 的替代方案是什么?是舞台还是窗口还是控件还是父级,我无法得出结论。我也不确定是否有这样的选择。

为什么我需要 JComponent 的替代品?好吧,在我现有的屏幕管理器框架中,我们总是将任何单个摆动组件(例如面板)的类型返回为 JComponent。所以我很想知道 FX 中的替代方案,如果我们有的话。

提前感谢您的帮助。

4

1 回答 1

2

有点松散,相当于JComponent的是Node

我松散地说,因为它们是不同的东西,而且不是 100% 的等价关系,但我想你可以认为它们大致代表了相似的东西。节点比 JComponents 代表更多的东西,因为它们可以代表形状、媒体视图等。

JComponent 是:

除顶级容器外的所有 Swing 组件的基类。要使用从 JComponent 继承的组件,您必须将该组件放置在根为顶级 Swing 容器的包含层次结构中。顶级 Swing 容器——例如 JFrame、JDialog 和 JApplet——是专门的组件,它们为其他 Swing 组件提供了一个绘制自己的位置。

节点是:

场景图节点的基类。场景图是一组树数据结构,其中每个项目都有零个或一个父项,每个项目要么是具有零个子项目的“叶子”,要么是具有零个或多个子项目的“分支”。

请注意,场景包含在Window(或Stage)中,因此有点类似于 JComponent,窗口不是节点(但 JavaFX 显示的几乎所有其他内容都是)。

有关什么是节点以及如何使用节点的更多信息,请参阅 Oracle 的使用场景图教程。

于 2013-07-22T19:24:39.500 回答