当前位置:首页 > Java

java如何关闭窗口

2026-04-09 04:37:19Java

关闭窗口的方法

在Java中,关闭窗口通常涉及使用Swing或JavaFX库。以下是两种常见GUI库的关闭方法。

使用Swing关闭窗口

在Swing中,JFrame是最常用的窗口类。可以通过以下方式关闭窗口:

java如何关闭窗口

import javax.swing.JFrame;

public class CloseWindowExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("示例窗口");
        frame.setSize(400, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

setDefaultCloseOperation方法接受以下参数:

  • JFrame.EXIT_ON_CLOSE:完全退出应用程序
  • JFrame.DISPOSE_ON_CLOSE:关闭当前窗口,但不退出程序
  • JFrame.HIDE_ON_CLOSE:隐藏窗口,不销毁

使用JavaFX关闭窗口

在JavaFX中,关闭窗口通过Stage类实现:

java如何关闭窗口

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class CloseWindowFX extends Application {
    @Override
    public void start(Stage primaryStage) {
        Button btn = new Button("关闭窗口");
        btn.setOnAction(e -> primaryStage.close());

        StackPane root = new StackPane();
        root.getChildren().add(btn);

        Scene scene = new Scene(root, 300, 250);
        primaryStage.setTitle("JavaFX窗口");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

primaryStage.close()会关闭当前窗口。如果需要完全退出应用程序,可以调用Platform.exit()

通过事件监听关闭窗口

对于更复杂的关闭逻辑,可以添加窗口监听器:

frame.addWindowListener(new java.awt.event.WindowAdapter() {
    @Override
    public void windowClosing(java.awt.event.WindowEvent windowEvent) {
        // 执行自定义关闭操作
        System.out.println("窗口即将关闭");
        System.exit(0);
    }
});

注意事项

  • 确保在关闭窗口前保存必要的数据
  • 多窗口应用程序中,明确是关闭单个窗口还是退出整个程序
  • JavaFX应用中,关闭最后一个窗口不会自动终止应用程序,需显式调用Platform.exit()

分享给朋友:

相关文章

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…

如何学java基础

如何学java基础

学习Java基础的方法 理解Java的基本概念 Java是一种面向对象的编程语言,掌握基础概念如类、对象、继承、多态和封装是必要的。熟悉Java的语法结构,包括变量、数据类型、运算符和控制语句。 安…

vue实现java登录注册

vue实现java登录注册

实现 Vue 与 Java 后端的登录注册功能 前端 Vue 部分 安装必要的依赖(如 axios 用于 HTTP 请求): npm install axios 创建登录表单组件(Login.vue…

php 实现 java md5

php 实现 java md5

在 PHP 中实现与 Java 相同的 MD5 哈希算法,关键在于确保编码和输出格式的一致性。以下是具体实现方法和注意事项: 确保字符串编码一致 Java 的 String.getBytes() 默…