当前位置: 首页 > news >正文

JavaFX中Application、Stage、Scene和Parent的区别

在JavaFX中,Application、Stage、Scene和Parent是用于构建图形用户界面(GUI)的关键组件,它们各自有不同的作用和责任。以下是它们之间的主要区别:

1、Application(应用程序)

Application是JavaFX应用程序的入口点,它是所有JavaFX应用程序的基类。
每个JavaFX应用程序都需要继承自Application类,并重写start方法。
start方法负责初始化应用程序的初始状态,创建主舞台(Stage),以及设置主舞台的场景(Scene)。

public class MyApplication extends Application {@Overridepublic void start(Stage primaryStage) {// 设置初始状态,创建主舞台,设置主场景等}
}

2、Stage(舞台)

Stage是JavaFX应用程序的顶层窗口。
通常,一个JavaFX应用程序至少有一个主舞台,但可以创建额外的舞台作为辅助窗口。
Stage用于表示和控制窗口的属性,例如标题、图标、大小等。
在start方法中,您会创建一个Stage实例,并在其中设置应用程序的初始状态。

@Override
public void start(Stage primaryStage) {primaryStage.setTitle("My JavaFX App");// 设置其他属性
}

3、Scene(场景)

Scene是JavaFX应用程序中的一个可视化场景,包含了所有的用户界面元素。
一个Stage可以包含一个或多个Scene,但在任一时刻,只有一个Scene是活动的。
Scene包含一个根节点(Parent)以及场景的宽度和高度。
在start方法中,您会创建一个Scene实例,并将其设置到Stage中。

@Override
public void start(Stage primaryStage) {Parent root = new VBox(); // 通常是一个布局容器Scene scene = new Scene(root, 800, 600);primaryStage.setScene(scene);
}

4、Parent(父容器)

Parent是一个抽象类,表示了场景图中的节点,通常是布局容器。
Parent的子类(例如VBox、HBox)用于组织和布局UI元素。
Parent包含子节点的集合,用于构建整个用户界面的层次结构。

@Override
public void start(Stage primaryStage) {VBox root = new VBox(); // VBox是Parent的一个子类root.getChildren().add(new Button("Click me"));// 其他布局和UI元素的添加
}

Application是整个应用程序的入口,Stage是顶层窗口的表示,Scene是窗口中的可视场景,而Parent是用于构建用户界面层次结构的抽象容器。在start方法中,这些组件被创建和配置,以便构建应用程序的用户界面。

http://www.lryc.cn/news/237952.html

相关文章:

  • ubuntu18.04 terminal打不开的解决方法
  • 部署Kubernetes Dashboard
  • Java对List的操作
  • git 将本地已有的一个项目上传到新建的git仓库的方法
  • 基于Docker的安装和配置Canal
  • 去除IDEA中代码的波浪线(黄色警示线)
  • 【Qt之QSplashScreen】开场动画使用:进度条加载及设置鼠标指针不转圈
  • WPF Button点击鼠标左键弹出菜单
  • http库requests
  • package.json 依赖版本中的符号含义
  • Python try except 用法
  • 代码随想录二刷 | 链表 | 翻转链表
  • 每日一题(LeetCode)----链表--两两交换链表中的节点
  • 竞赛选题 身份证识别系统 - 图像识别 深度学习
  • 什么时候用@MapperScan 注解?
  • MQTT.js
  • html滑动文章标题置顶
  • Android11 桌面默认横屏导致任务键近期任务布局UI显示错误!
  • 「Verilog学习笔记」根据状态转移图实现时序电路
  • 使用DHorse发布SpringBoot项目到K8S
  • Java修仙记之记录一次与前端女修士论道的经历
  • 初识linux(1)
  • 投资黄金:如何选择正确的黄金品种增加收益?
  • Rust错误处理机制:优雅地管理错误
  • docker-compose安装harbor
  • 【python学习】基础篇-常用模块-shutil文件和目录操作
  • 鸿蒙系统调研适配
  • SAP gui 登录条目不让修改
  • 华为ac+fit无线2层漫游配置案例
  • nginx的location中配置路径讲解