Javafx 什么';layout.Pane和control.control之间的区别(用FXML表示)是什么?

Javafx 什么';layout.Pane和control.control之间的区别(用FXML表示)是什么?,javafx,fxml,Javafx,Fxml,我正在尝试学习如何创建UI。我目前正在试验的是左侧的一个主屏幕,用于存放当前信息,供用户查看;右边还有一个手风琴,供用户选择决定主屏幕显示内容的项目。我正在使用场景生成器帮助我学习。当我把标题窗格(不是空的)拖进手风琴时,它会在里面放一个主播。除非我有误解,否则这不允许该标题窗格中的可选项列表大于标题窗格的当前高度。所以我在我的手风琴中添加了另一个标题窗格(空),然后添加了一个滚动窗格(不是空的)。这又在滚动窗格中添加了一个锚烷 这就是我的fxml文档当前的样子(在版本控制、编码和导入之后):

我正在尝试学习如何创建UI。我目前正在试验的是左侧的一个主屏幕,用于存放当前信息,供用户查看;右边还有一个手风琴,供用户选择决定主屏幕显示内容的项目。我正在使用场景生成器帮助我学习。当我把标题窗格(不是空的)拖进手风琴时,它会在里面放一个主播。除非我有误解,否则这不允许该标题窗格中的可选项列表大于标题窗格的当前高度。所以我在我的手风琴中添加了另一个标题窗格(空),然后添加了一个滚动窗格(不是空的)。这又在滚动窗格中添加了一个锚烷

这就是我的fxml文档当前的样子(在版本控制、编码和导入之后):

当滚动窗格显示以下内容时:

类滚动窗格

java.lang.Object
   javafx.scene.Node
      javafx.scene.Parent
         javafx.scene.layout.Region
            javafx.scene.control.Control
               javafx.scene.control.ScrollPane
我假设格式对我来说意味着继承,是重要的。我注意到“javafx.scene.layout.Region”中的内容是相同的,但之后的内容有所不同。一个转到layout.Pane,另一个转到control.control

我已经通读了api上的描述,可能是因为我明显缺乏编码经验,这对我来说没有太大意义——也许我试图错误地使用其中一个


有什么区别?是否需要锚烷?

您可以将任何您喜欢的内容作为
标题窗格的内容。SceneBuilder(出于某种原因,它似乎过度喜欢
AnchorPane
s)将
AnchorPane
作为默认内容;但是,您可以删除它,或者只选择“标题窗格(空)”并添加您自己的内容。例如,您可以删除
锚定窗格
(或者从一个空的
标题窗格
开始),然后将
滚动窗格
拖动到那里

实际上,听起来您确实需要一个作为
标题窗格
的内容。
列表视图
已经配备了所需的滚动条功能

为了回答您的实际问题,API文档确实指明了继承层次结构

JavaFX(和大多数UI库一样)定义了丰富的继承结构
Parent
是场景图中包含其他
节点的任何对象的超类。子类
父类
的绝大多数类也子类
区域
,它表示在布局中占据特定空间的内容。(例外情况是
,它在布局方面的行为有些不同,
网络视图
,它可能应该是
控件
的子类,但不是…)

控件
窗格
都是
区域
的子类(因此也是
父类
)<代码>窗格
表示一个“容器”:仅用于容纳其他
节点
并管理其布局的东西
AnchorPane
窗格
的一个子类<相反,代码>控件
代表一个UI“小部件”(用户可以直接与之交互),因此
标签
按钮
组合框等都是
控件
的子类


有些控件实际上相当复杂,并且包含其他
节点<代码>滚动窗格
是控件的一个示例,因为用户可以(通过滚动条)与之交互;它还包含另一个
节点
,称为其“内容”。与您可以使用任何
节点
作为
标题窗格
的内容一样,您也可以使用任何节点作为
滚动窗格
的内容。
滚动窗格
内容
是用户通过
滚动窗格
的滚动条查看和移动的节点。同样,您可以使用任何
节点
作为
滚动窗格
的内容;SceneBuilder只是选择了一个
锚泊烷作为默认值(除了它必须使用某些东西之外,没有其他真正的原因)。

我会投票支持它,但我是新的,还不被允许。:-)回答内容丰富且有帮助。如果回答了问题,无论声誉如何,都可以将其标记为正确。
java.lang.Object
   javafx.scene.Node
      javafx.scene.Parent
         javafx.scene.layout.Region
            javafx.scene.layout.Pane
               javafx.scene.layout.AnchorPane
java.lang.Object
   javafx.scene.Node
      javafx.scene.Parent
         javafx.scene.layout.Region
            javafx.scene.control.Control
               javafx.scene.control.ScrollPane