javafx vbox 居中_JavaFX VBox
JavaFX教程 - JavaFX VBox
VBox布局将子节点堆叠在垂直列中。
新添加的孩子被放置在上一个子节点的下面。
默认情况下,VBox尊重孩子的首选宽度和高度。
当父节点不可调整大小时,例如Group节点,最大垂直列的宽度基于具有最大优选宽度的节点。
默认情况下,每个子节点与左上(Pos.TOP_LEFT)位置对齐。
例子
以下代码将TextArea控件设置为在调整父VBox的高度时垂直增长:
TextArea myTextArea = new TextArea();
VBox.setHgrow(myTextArea, Priority.ALWAYS);
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
TextArea myTextArea = new TextArea();
VBox hbox = new VBox();
hbox.getChildren().add(myTextArea);
VBox.setVgrow(myTextArea, Priority.ALWAYS);
Scene scene = new Scene(hbox, 320, 112, Color.rgb(0, 0, 0, 0));
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
上面的代码生成以下结果。
实施例2
下面的代码使用四个矩形来演示VBox的使用。
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
/*fromwww.java2s.com*/
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
Group root = new Group();
Scene scene = new Scene(root, 300, 250);
// 5 pixels space between child nodes VBox vbox = new VBox(5);
// 1 pixel padding between child nodes only vbox.setPadding(new Insets(1));
Rectangle r1 = new Rectangle(10, 10);
Rectangle r2 = new Rectangle(20, 100);
Rectangle r3 = new Rectangle(50, 20);
Rectangle r4 = new Rectangle(20, 50);
HBox.setMargin(r1, new Insets(2, 2, 2, 2));
vbox.getChildren().addAll(r1, r2, r3, r4);
root.getChildren().add(vbox);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
上面的代码生成以下结果。
VBox间距
VBox vbox = new VBox(8); // spacing = 8
vbox.getChildren().addAll(new Button("Cut"), new Button("Copy"), new Button("Paste"));
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(final Stage stage) {
stage.setTitle("HTML");
stage.setWidth(500);
stage.setHeight(500);
Scene scene = new Scene(new Group());
VBox vbox = new VBox(8); // spacing = 8
vbox.getChildren().addAll(new Button("Cut"), new Button("Copy"), new Button("Paste"));
scene.setRoot(vbox);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
上面的代码生成以下结果。
设置填充和间距
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
/*fromwww.java2s.com*/
public class Main extends Application {
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("VBox Test");
// VBox VBox vb = new VBox();
vb.setPadding(new Insets(10, 50, 50, 50));
vb.setSpacing(10);
Label lbl = new Label("VBox");
lbl.setFont(Font.font("Amble CN", FontWeight.BOLD, 24));
vb.getChildren().add(lbl);
// Buttons Button btn1 = new Button();
btn1.setText("Button1");
vb.getChildren().add(btn1);
Button btn2 = new Button();
btn2.setText("Button2");
vb.getChildren().add(btn2);
Button btn3 = new Button();
btn3.setText("Button3");
vb.getChildren().add(btn3);
Button btn4 = new Button();
btn4.setText("Button4");
vb.getChildren().add(btn4);
// Adding VBox to the scene Scene scene = new Scene(vb);
primaryStage.setScene(scene);
primaryStage.show();
}
}
上面的代码生成以下结果。
javafx vbox 居中_JavaFX VBox相关推荐
- javafx vbox 居中_JavaFX VBox调整大小
我在基于JavaFX的游戏中创建弹出式确认消息,并试图弄清楚布局是如何工作的.我的弹出类扩展StackPane它的构造看起来像这样:JavaFX VBox调整大小 public PopUp (Stri ...
- javafx vbox 居中_JavaFx HBox VBox 布局利用Priority实现布局自适应
一:相关类和方法 1: javafx.scene.layout.Priority,一个枚举类,用于确定给定节点的增长(或缩小)优先级.比如:一个HBox布局,里面有三个控件,当屏幕宽度是800时, ...
- javafx vbox 居中_如何平均分配JavaFX VBox的元素
Im使用VBox並向其添加了三個標籤.標籤之間的垂直空間使用setSpacing()方法進行設置.但它是一個固定值,說20.如果我將該值更改爲50,則空間將會增加.但它是硬編碼.如何平均分配JavaF ...
- javafx窗体程序_JavaFX实际应用程序:SkedPal
javafx窗体程序 "真实世界的应用程序"系列中的一个新条目. 这次是SkedPal ,这是一个用于智能管理忙人生活的应用程序. 我一直在咨询SkedPal团队有关JavaFX的 ...
- javafx 内存占用_JavaFX:TouchGesture内存泄漏?
javafx 内存占用 在我的一个项目中,最近几天我在与内存泄漏作斗争(是--"耦合"),我得出的结论是可能存在与触摸/滚动手势有关的问题. 在下面的示例中,我有两个按钮. 第一个 ...
- javafx窗体程序_JavaFX真实世界应用程序:EIZO CuratOR Caliop
javafx窗体程序 JavaFX Real-World应用程序第四号称为Caliop . 它是EIZO为医院手术室开发的CuratOR解决方案的前端. 前端在壁挂式控制台上运行,并允许操作团队查找有 ...
- javafx窗体程序_JavaFX实际应用程序:AISO HRC-Matic
javafx窗体程序 " Real-World JavaFX Apps"系列中的第三个应用程序是一种重型数据输入应用程序,由称为HRC-Matic的关系数据库支持. 它由AISO在 ...
- javafx窗体程序_JavaFX真实世界应用程序:欧洲电视网广播联盟
javafx窗体程序 我荣幸地与今年在德累斯顿Saxonia 系统公司工作的Alexander Casall一起在JavaOne上展示了多个JavaFX Real-World应用程序. 在准备本次演讲 ...
- javafx 剪切板_JavaFX技巧18:路径剪切
javafx 剪切板 我最近注意到,我致力于ControlsFX项目的PopOver控件无法正确剪切其内容. 当我为FlexCalendarFX框架开发手风琴弹出窗口时,这一点变得显而易见. 每当最后 ...
最新文章
- Android媒体相关开发应用程序接口
- DES加密算法安全性评估
- Kafka集群部署详细步骤(包含zookeeper安装步骤)
- 云计算的基础设施服务
- cell数组变为字符串_字符串匹配 ---- BM 算法原理
- 2013页面验证框架来袭。基于独创的vvc思想。还不知道的童鞋赶快围观吧!
- 上岸 1 年后,重回大厂内卷
- 深入理解JavaScript (5) —— 闭包
- 领扣(LeetCode)七进制数 个人题解
- 网页滚动截屏怎么截长图
- linux如何卸载anaconda
- Android 仿QQ、新浪相册的实现
- 【独行秀才】macOS Monterey 12.1Beta2(21C5031d)原版镜像
- 如何利用MATLAB建立Lotka-Volterra模型及其改进模型
- 写贺卡给毕业师姐怎么写计算机系的,[给师姐的毕业祝福语]对师姐的毕业祝福语...
- SylixOS学习二—— SylixOS认识和使用_SylixOS虚拟机使用
- (一)大彩屏幕 进行串口通信
- 懒惰使人沉睡;懈怠的人必受饥饿。
- 游戏搬砖是什么意思?
- HCIP考试心得,题库整理
热门文章
- C++ STL和泛型编程(四)----movable
- 《Docker技术入门与实战》——3.8 本章小结
- 联盟链和公有链混合架构如何实现?Hyperledger核心开发者陈昌访谈
- java代码使用重写来优化电子宠物系统
- 音乐游戏音频解析 ABC(上)
- 东南大学计算机2020初试成绩公布,东南大学2020考研复试分数线已公布
- 想跳槽却简历石沉大海?一起来围观月薪20k的软件测试工程师真实简历 (含金量高面试题)
- python解决 ModuleNotFoundError: No module named _bz2
- SpringBoot+Vue项目实战-QG
- ubuntu终端代码上传github最简方法