JavaFX之Stage

这篇具有很好参考价值的文章主要介绍了JavaFX之Stage。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Stage(舞台),它代表了一个顶级窗口,是JavaFX应用程序的主要容器。Stage可以包含多个场景(Scene),每个场景可以包含各种用户界面元素(如按钮、文本框等)。Stage提供了许多方法和属性,用于设置窗口的外观、行为和交互。

 举例:

package com.example.demo1;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.image.Image;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;

import java.util.Optional;

public class HelloApplication extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        // 创建按钮
        Button button = new Button("Hello World");
        button.setLayoutX(200);
        button.setLayoutY(200);

        // 创建布局
        AnchorPane pane = new AnchorPane();
        pane.getChildren().add(button);

        // 创建场景
        Scene scene = new Scene(pane, 500, 500);

        // 设置场景到舞台
        primaryStage.setScene(scene);
        primaryStage.setTitle("Hello"); // 设置舞台标题
        primaryStage.getIcons().add(new Image("F:\\myCode\\java\\javaFX\\0910\\demo1\\src\\main\\resources\\image\\logo.png")); // 设置舞台图标,图标文件位于 "image/logo.png"
        primaryStage.setResizable(false); // 设置舞台不可调整大小

        // 防止隐式退出
        Platform.setImplicitExit(false);

        // 处理窗口关闭事件
        primaryStage.setOnCloseRequest(event -> {
            event.consume(); // 阻止默认的窗口关闭操作

            // 创建一个确认对话框
            Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
            alert.setTitle("退出程序");
            alert.setHeaderText(null);
            alert.setContentText("您是否需要退出程序");

            // 显示对话框,并等待用户响应
            Optional<ButtonType> result = alert.showAndWait();

            // 如果用户点击了确认按钮,则退出程序
            if (result.get() == ButtonType.OK) {
                Platform.exit(); // 退出 JavaFX 应用程序
            }
        });

        // 显示舞台
        primaryStage.show();
    }
}

以下是代码的主要功能和作用:

  1. HelloApplication 类继承了 Application 类,并重写了 start() 方法,该方法是 JavaFX 应用程序的入口点。

  2. main() 方法是应用程序的启动点,它调用 launch() 方法来启动 JavaFX 应用程序。

  3. 在 start() 方法中:

    • 创建一个按钮,并设置按钮的文本和位置。
    • 创建一个 AnchorPane 布局,并将按钮添加到布局中。
    • 创建一个场景,将布局作为场景的根节点,并指定场景的大小为 500x500 像素。
    • 将场景设置到舞台(主窗口)中。
    • 设置舞台的标题为 "Hello"。
    • 添加一个图标到舞台,图标文件的路径是 "F:\myCode\java\javaFX\0910\demo1\src\main\resources\image\logo.png"。
    • 设置舞台不可调整大小。
    • 调用 Platform.setImplicitExit(false) 来防止隐式退出,即当所有窗口关闭时,JavaFX 应用程序不会自动退出。
  4. primaryStage.setOnCloseRequest() 方法设置了窗口关闭事件的处理逻辑。当用户尝试关闭窗口时,会触发这个事件。在事件处理程序中:

    • 调用 event.consume() 阻止默认的窗口关闭操作。
    • 创建一个确认对话框(Alert),标题为 "退出程序",内容为 "您是否需要退出程序"。
    • 显示对话框,并等待用户响应。
    • 如果用户点击了确认按钮(ButtonType.OK),则调用 Platform.exit() 退出 JavaFX 应用程序。
  5. 最后,调用 primaryStage.show() 方法显示舞台(窗口)。
    JavaFX之Stage,JavaFX,前端文章来源地址https://www.toymoban.com/news/detail-707105.html

到了这里,关于JavaFX之Stage的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • javafx应用程序线程异常Exception in thread “JavaFx Application Thread“

    javafx应用程序线程异常Exception in thread “JavaFx Application Thread“

    前几天用javafx做小桌面应用程序出现了一个问题: 反复检查,最终确定报错的原因是UI刷新频率过快导致的 javafx提供了Platform.runLater用于解决该问题:  总结:需要高频调用方法使用Platform.runLater

    2024年02月10日
    浏览(14)
  • Spark_Spark中 Stage, Job 划分依据 , Job, Stage, Task 高阶知识

    Spark_Spark中 Stage, Job 划分依据 , Job, Stage, Task 高阶知识

    上一篇文章中 : Spark_Spark 中 Stage, Job 划分依据 , Job, Stage, Task 基础知识_spark stage job_高达一号的博客-CSDN博客 主要解读了Stage, job, task 的划分标准,这篇文章将对这些信息进行进一步解读。 在讲Spark的任务的划分和调度之前,需要明确Spark中Job、Stage、Task的概念。 Job:Spark中

    2024年02月12日
    浏览(10)
  • JavaFX 加载 fxml 文件

    JavaFX 加载 fxml 文件

    20231230更新:Java文件在加载FXML文件时,注意文件路径。 JavaFX 加载 fxml 文件主要有两种方式,第一种方式通过 FXMLLoader 类直接加载 fxml 文件,简单直接,但是有些控件目前还不知道该如何获取,所以只能显示,目前无法处理。第二种方式较为复杂,但是可以使用与 fxml 文件对

    2024年02月10日
    浏览(11)
  • JavaFX学生管理系统

    JavaFX学生管理系统

    目录 系统介绍 登录页面搭建 代码所示: 登录按钮的事件设置 注册页面的搭建  代码所示: 代码所示: 首页搭建  布局分析  顶部 底部 中部  表格控件 列值处理器 数据绑定 模糊查询功能 退出功能  删除功能 增加功能 增加学生 页面 代码所示: 修改功能的制作 修改学生

    2024年02月07日
    浏览(11)
  • javaFX安装及使用

    javaFX安装及使用

    Jdk 从 1.8 开始 jdk 自带 JavaFX,到 Jdk 11 开始 jdk 不再内置 JavaFX,所以如果你使用的是高版本的 jdk 在使用 javaFX 的时候就需要先安装 javaFX,并在 idea 里进行配置。 本文主要是对高版本 jdk 安装配置 javaFX 进行讲解,在本文开始前,你的电脑安装的 jdk 版本应该大于等于 17 。 如果

    2024年02月06日
    浏览(15)
  • javafx各种控件

    javafx各种控件

    (1)基础 RadioButton Controls经常以组的形式出现,它可以让用户进行选择。 radiobutton控件在radiobutton类中,需要导 javafx.scene.control 包。 注意,我们在RadioButton旁边显示的字符串作为参数传递给RadioButton 类的构造函数的参数。你可以选择省略字符串参数来创建一个没有文本的Ra

    2024年02月09日
    浏览(10)
  • JavaFX介绍

    JavaFX 是 Java 平台上的一个丰富的 GUI 库,用于创建富客户端应用程序。下面是对 JavaFX 中一些关键概念的详细介绍: JavaFX: JavaFX 是一个用于构建富客户端应用程序的库和框架。它提供了一组丰富的图形和多媒体类库,以及用于构建用户界面的各种控件、布局和效果。JavaFX 使

    2024年02月09日
    浏览(10)
  • JavaFX中AudioClip音频

    AudioClip类的前面有final修饰,所以这个类不能被继承。这个类的主要作用是播放一些较短的音频。比如设计游戏,用于开火,碰撞等短音频的播放。 AudioClip可以以最小延迟播放音频片段。剪辑的加载方式与媒体对象类似,但也有一些不同,例如,媒体无法自行播放。AudioClip可

    2023年04月22日
    浏览(7)
  • JavaFX场景入门

    JavaFX场景入门

    目录 JAVAFX jdk1.8以上引入javafx类库 JDK11+JAVAFX(eclipse) 小知识点 舞台Stage platform、screen类 Scene场景类 查看电脑屏幕宽高 Group容器 JAVAFX项目 Image javafx场景 javaFx文本 javaFX颜色 方式一 方式二 直接引入 避免 另一种编写方式 setHgrow或setVgrow、需要精确布局时,应重写layoutChildren()值摆

    2024年01月25日
    浏览(4)
  • javafx简单介绍

    JavaFX是Oracle公司推出的一款基于Java技术的富客户端框架,它提供了一系列的UI组件,使得开发者能够快速地开发高度美观、互动性强的应用程序。JavaFX集成了现代化的特性、动画效果、3D图形、音频和视频等多媒体特性。JavaFX的优点包括: 跨平台性:JavaFX可以在所有主流操作

    2024年02月09日
    浏览(3)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包