java如何关闭窗口
关闭窗口的方法
在Java中,关闭窗口通常涉及使用Swing或JavaFX库。以下是两种常见GUI库的关闭方法。
使用Swing关闭窗口
在Swing中,JFrame是最常用的窗口类。可以通过以下方式关闭窗口:
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类实现:
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()






