博客
关于我
JavaFX之Scene Builder详细使用说明之组件篇(1)——容器组件
阅读量:257 次
发布时间:2019-03-01

本文共 2387 字,大约阅读时间需要 7 分钟。

JavaFX 容器组件参考

容器组件概述

JavaFX 提供了丰富的容器组件,用于构建复杂的用户界面。这些容器不仅可以嵌套控件,还能通过布局实现多样化的展示效果。本文将详细介绍各类容器组件,并展示它们的实际应用场景。


Accordion

Accordion 是一个复合标题面板容器,适用于需要多个展开项的布局。其特点是支持标题面板的折叠功能,用户可以通过点击标题将内容区域展开或折叠。

常见用途:用于菜单栏、内容切换、数据展开等场景。


Accordion(empty)

Accordion(empty)与普通 Accordion 的主要区别是没有 AnchorPane 面板。开发者可以直接在 Accordion 中添加其他容器或控件,实现灵活的布局。

优点:适合需要自定义布局的场景,例如在 TitledPane 中嵌入垂直盒子或流布局。


AnchorPane

AnchorPane 是一个锚布局容器,允许用户将组件放置在布局中的任意位置。通过设置锚点,可以实现组件的灵活摆放。

特点:支持拖动组件到任意位置,适合需要动态布局的场景。


BorderPane

BorderPane 是一个边界布局容器,界面分为五个区域:TOP、LEFT、CENTER、RIGHT、BOTTOM。用户可以根据需求将组件放置到相应的区域中。

特点:支持多区域布局,常用于工具栏、状态栏、边框布局等。


FlowPane

FlowPane 是一个流布局容器,控件会从左到右依次排列。当行满时,会自动换行继续排列。其布局方式类似于自然排列。

特点:适合需要横向或纵向流动布局的场景。


GridPane

GridPane 是一个网格布局容器,可以将控件或容器放置到一个表格般的网格中。每个网格单元可以单独设置大小和布局。

特点:适合需要表格布局的场景,例如数据表格、排版工具等。


HBox

HBox 是一个水平盒子容器,控件会水平排列。即使总宽度超过窗口宽度,也会按比例缩短控件大小。

特点:适合需要水平排列的布局,例如工具栏、菜单栏。


Pane

Pane 是所有容器面板的父类,基本功能与 AnchorPane 一致。它可以嵌套其他容器或控件,适用于通用布局需求。

特点:功能上与 AnchorPane 类似,适合简单布局场景。


ScrollPane

ScrollPane 是一个滚动面板容器,支持自动滚动显示超出视口的内容。它是布局中常用的容器之一。

特点:适合需要滚动显示内容的场景,例如长列表、图像浏览等。


ScrollPane(empty)

ScrollPane(empty)与普通 ScrollPane 的区别是没有 AnchorPane。开发者可以直接在其中添加其他容器或控件。

优点:提供了更大的布局灵活性,适合自定义滚动面板。


SplitPane

SplitPane 是一个分割面板容器,支持水平或垂直分割。它可以将布局分成两个或多个部分,并通过分割条进行切换。

特点:适合需要分割显示区域的场景,例如多个小工具面板、布局切割。


SplitPane(horizontal)

SplitPane(horizontal)是水平分割面板,分割条为垂直方向。它适用于需要左右切割的布局。

特点:分割条居中,支持动态调整分割比例。


SplitPane(vertical)

SplitPane(vertical)是垂直分割面板,分割条为水平方向。它适用于上下切割的布局。

特点:分割条居中,支持动态调整分割比例。


StackPane

StackPane 是一个层叠面板容器,允许将控件叠加在一起。通过 Z-顺序可以控制叠加层次。

特点:适合需要层叠布局的场景,例如对话框、菜单面板等。


Tab

Tab 是与 TabPane 一起使用的单个控件,用于切换显示内容。单独使用时没有效果。

特点:与 TabPane 配合使用,适合多个选项卡切换的场景。


TabPane

TabPane 是一个选项卡面板容器,可以切换显示不同内容。它通过 Tab 控件实现选项卡切换。

特点:支持多个选项卡切换,适合需要多视图展示的场景。


TabPane(empty)

TabPane(empty)与普通 TabPane 的区别是没有 AnchorPane。开发者可以直接在其中添加其他容器或控件。

优点:提供了更大的灵活性,适合自定义选项卡面板。


TextFlow(FX8)

TextFlow 是一个与 Text 配用的文本流布局容器,常用于显示长文本内容。

特点:与 Text 一起使用,支持文本流动布局。


TilePane

TilePane 是一个类似于 FlowPane 的容器,通常与 Tile 控件配合使用。

特点:适合需要平铺布局的场景,例如游戏地图、壁纸等。


TitledPane

TitledPane 是一个带有标题面板的折叠容器。点击标题后可以折叠面板内容,适用于需要面板可展开的场景。

特点:支持折叠功能,与 Accordion 类似。


TitledPane(empty)

TitledPane(empty)与普通 TitledPane 的区别是没有 AnchorPane。开发者可以直接在其中添加其他容器或控件。

优点:提供了更大的灵活性,适合自定义标题面板。


ToolBar

ToolBar 是一个工具栏控件,常用于菜单栏或工具栏布局。

特点:适合需要工具按钮、菜单项的场景。


VBox

VBox 是一个垂直盒子容器,控件会垂直排列。即使总高度超过窗口高度,也会按比例缩短控件大小。

特点:适合需要垂直排列的布局,例如侧边工具栏、对话框面板等。


通过以上容器组件的合理搭配,开发者可以快速构建丰富的用户界面。这些容器不仅提供了多样化的布局方式,还支持动态布局和交互功能,极大地方便了开发者创作。

转载地址:http://bzkx.baihongyu.com/

你可能感兴趣的文章
NMF(非负矩阵分解)
查看>>
nmon_x86_64_centos7工具如何使用
查看>>
NN&DL4.1 Deep L-layer neural network简介
查看>>
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.7 Parameters vs Hyperparameters
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>