HBox

HBox中的H是Horizontal的首字母,意为水平的。HBox即水平的布局,将组件按水平方向依次排列。

代码

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;public class TestHBoxVBox extends Application{public static void main(String[] args) {launch();}public void start(Stage primaryStage) throws Exception {Button button=new Button ("button");button.setFont(Font.font(20));HBox hbox=new HBox();hbox.getChildren().add(button);hbox.getChildren().add(new Button ("button1"));hbox.getChildren().add(new Button ("button2"));hbox.setStyle("-fx-background-color:#66ccff");Scene scene=new Scene(hbox);primaryStage.setScene(scene);primaryStage.setWidth(400);primaryStage.setHeight(400);primaryStage.show();}}

效果

组件放入HBox后将被托管,此时设置组件位置将无效,例如:

     button.setLayoutX(100);button.setLayoutY(100);

设置外边距(与父组件间的距离)

     //外边距hbox.setPadding(new Insets(10))//hbox.setPadding(new Insets(10,20,10,10));//将窗口缩小可以看出

设置组某个子组件外边距

     //设置组某个子组件外边距hbox.setMargin(button, new Insets(10));

设置内边距(各个子组件间的距离)

     //内边距hbox.setSpacing(10);

设置对齐方式(子组件间距离保持不变)

     //对齐方式hbox.setAlignment(Pos.CENTER);

VBox

VBox中的V是Vertical的首字母,意为垂直的。VBox即垂直的布局,将组件按竖直方向依次排列。
其它属性与HBox大体相同。

代码

创建一个VBox ,把它作为一个组件放入hbox中。

     VBox vbox=new VBox();vbox.getChildren().add(new Button ("button3"));vbox.getChildren().add(new Button ("button4"));vbox.getChildren().add(new Button ("button5"));hbox.getChildren().add(vbox);

hbox已设置居中,但看到的vbox却跑在了上面。
不妨设置一下vbox背景颜色看一看。

 vbox.setStyle("-fx-background-color:#00ffff");


可以看出vbox适应父组件的高度和子组件的宽度,其实许多布局容器都有类似效果。
不难想到,若要按钮3,4,5居中只需要设置vbox对齐方式就行了。

 vbox.setAlignment(Pos.CENTER);

javafx布局类HBox和VBox相关推荐

  1. JavaFX 2.0布局窗格– HBox和VBox

    如果要对JavaFX 2.0中所有不同的布局窗格进行概述,或者想了解有关它们的一些基本知识,请参阅我以前的文章< JavaFX 2.0中的布局窗格> . 布局窗格HBox和VBox绝对是J ...

  2. 【.NET Core 跨平台 GUI 开发】第二篇:Gtk# 布局入门,初识HBox 和 VBox

    这是 Gtk# 系列博文的第二篇.在上一篇博文<编写你的第一个 Gtk# 应用>中,我们提到"一个 Gtk.Window 只能直接包含一个部件".这意味着,在不做其他额 ...

  3. JavaFX: 布局

    JavaFX: 布局 文档:JavaFX 11-15 接口文档 FlowPane布局 FlowPane API 使用Scene Builder构建fxml,导入项目查看 FlowPane 是一个容器. ...

  4. 标准布局类(11中布局类)

    2019独角兽企业重金招聘Python工程师标准>>> <div class="box"><div id="myAuto" ...

  5. Ext2.0布局类初探

    Ext2.0正式版虽然还没出来,但是官网上的例程还是令人兴奋不已.内存泄漏的问题应该是解决了,布局类更新了,增加了新的东西,grid的功能更加强大,tabs也增加了循环按钮,还增加了类似delphi ...

  6. UICollectionView入门--使用系统UICollectionViewFlowLayout布局类

    UICollectionView入门--使用系统UICollectionViewFlowLayout布局类 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追 ...

  7. 07.移动先行之谁主沉浮----控件之轮流轰炸——布局类控件

    如果移动方向有任何问题请参考===> 异常处理汇总-移动系列(点) 移动先行之谁主沉浮? 带着你的Net飞奔吧! 链接======>(点) 一.布局类控件 Grid.StackPanel. ...

  8. 火山安卓窗口组件操作组件布局类

    本源码转载自利快云https://www.lkuaiy.com/ 火山安卓窗口组件操作组件布局类   一.窗口组件操作组件布局类 1.首先设计一个组件布局类,然后公开组件. 2.在启动类中定义一个窗口 ...

  9. 布局类(02):【纲】Layout Management [官翻]

    文章目录 介绍 Qt的布局类 Horizontal, Vertical, Grid, and Form 布局 在代码中布局小部件 使用布局的提示 向布局添加小部件 拉伸因子 Stretch Facto ...

最新文章

  1. 数据蒋堂 | 莫非我就是被时代呼唤的数学人
  2. Map-Reduce入门
  3. 邮件列表统计(网站推广)
  4. [react] childContextTypes是什么?它有什么用?
  5. android自动化工程师,自动化工程师应具备哪些技能
  6. 实现java内存队列消费事件-ConcurrentLinkedQueue
  7. puml绘制思维导图_思维导图的使用方法和技巧
  8. Matlab实用代码——定位文件位置,自动导入文件
  9. JS对象 颠倒数组元素顺序reverse() reverse() 方法用于颠倒数组中元素的顺序。
  10. java treeset 降序,Java TreeSet,Collections使用
  11. VS中依赖库相对路径的配置及项目间依赖项
  12. 《机器学习实战》中英文电子书 + 源代码下载
  13. 基于vue的html编辑器,基于vue富文本编辑器的慢慢人生路
  14. Tomcat中文乱码问题
  15. 英语四级计算机二级成绩,计算机二级成绩查询
  16. 路由器 telnet配置
  17. 我,钢铁侠,现急缺660亿美金
  18. R3live笔记:从代码看lio线程
  19. WeDrivePlugin64_24.dll 引发win7系统不能进入桌面
  20. 一篇文章看懂互联网公司职位架构

热门文章

  1. 你知道在深圳一个月花多少钱吗?
  2. 简单的java线程示例(排水)
  3. 基于Java的Windows纸牌游戏的设计与实现
  4. 关于Char类型占几个字节?
  5. Opencv python基础入门(4)---sobel算子及边缘检测
  6. 黑客可通过伪Wi-Fi信号窃取用户数据
  7. 刚刚get一个新技能-动态图
  8. 2个月拿到华为offer,身为00后的我拿30K没问题吧?
  9. JS 事件对象 offsetX/Y clientX Y PageX Y
  10. java中使用句号问号和感叹号分割_逗号,句号,感叹号和问号