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. Spring 自动化装配Bean
  2. 干掉前端!3分钟纯 Java 注解搭个管理系统,我直接好家伙
  3. php如何发起远程请求,PHP请求远程地址如何设置超时时间
  4. 移动端屏幕自适应布局
  5. python兔子繁殖问题中如何输出相应月份的数列_斐波那契数列介绍及Python中五种方法斐波那契数列...
  6. 华为云DevCloud为开发者提供高效智能的可信开发环境
  7. WPF仿网易云音乐系列(二、歌单创建窗口+登录设置模块)
  8. 工信部高级软件工程师证书有用吗_考bim工程师证书有用吗
  9. java调用libreoffice_使用Open / LibreOffice开始使用UNO和Java
  10. android admob sdk,android – 无法显示AdMob横幅
  11. 一、学海无涯,再出发!【2020.02.14-25】
  12. 移动APP的测试流程及方法
  13. CTR预估算法(浅层模型)
  14. 1药网用户暴增500% 声网助力打造高质量视频问诊服务
  15. 深度解析C语言文件操作以及常见问题
  16. EXCEL工资表一键转化工资条短信如何操作
  17. html5中margin是什么意思,css中margin是什么意思,margin作用是什么?
  18. Neo4j入门之中国电影票房排行浅析
  19. 老铁们来来来,实战STM32
  20. P5236 【模板】静态仙人掌(仙人掌圆方树)

热门文章

  1. 塑料还能这样玩?我可能是看到了假的塑料
  2. Qt图片定时滚动播放器+透明过渡动画
  3. 蚂蚁mPaaS框架控制台打印 原生与h5交互数据 和 RPC接口返回数据 都是Unicode乱码如何处理
  4. 【51】 kotlin 编写kts脚本
  5. 循环神经网络(RNN)的原理及实现
  6. html上传图片获取物理路径
  7. 基于Springboot+mysql手机商城(带后台管理系统)
  8. 用python实现阿里云ecs和redis的创建与维护
  9. 到了40的程序员,都何去何从,面试总结
  10. 微信小程序输入框数据获取(九)