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