Java中如何创建并实现一个从窗口启动的新应用程序界面?
- 后端开发
- 2025-09-12
- 6
在Java中新建一个从窗口(即图形用户界面窗口),可以通过使用Swing或JavaFX库来实现,以下是使用Swing库创建一个基本窗口的步骤和示例代码。
创建一个基本的Swing窗口
以下是一个使用Swing创建基本窗口的步骤:
-
引入必要的库:确保你的项目中包含了Swing库,如果你使用的是Java标准库,那么通常不需要额外安装。
-
创建主类:创建一个新的Java类,这个类将包含你的主程序代码。

-
创建窗口类:创建一个继承自JFrame的类,这个类将定义你的窗口。
-
设置窗口属性:在窗口类中,设置窗口的标题、大小、关闭操作等。
-
添加组件:向窗口中添加组件,如按钮、文本框等。
-
显示窗口:调用窗口的setVisible(true)方法来显示窗口。
-
事件处理:为组件添加事件监听器来处理用户交互。
- 历史:Swing是较早的库,而JavaFX是较新的库。
- 组件:JavaFX提供了更多现代化的组件和更好的视觉效果。
- 性能:JavaFX通常比Swing更现代和高效。
- 集成:JavaFX与Java EE和JavaFX Script有更好的集成。
以下是一个简单的示例:

import javax.swing.JFrame; import javax.swing.JButton; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MainFrame extends JFrame { public MainFrame() { // 设置窗口标题 setTitle("My First Swing Window"); // 设置窗口大小 setSize(300, 200); // 设置关闭操作 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 创建按钮 JButton button = new JButton("Click Me"); // 添加按钮到窗口 add(button); // 为按钮添加事件监听器 button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 当按钮被点击时执行的代码 System.out.println("Button was clicked!"); } }); } public static void main(String[] args) { // 创建窗口实例 MainFrame frame = new MainFrame(); // 显示窗口 frame.setVisible(true); } }
表格说明
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 引入必要的库 | 确保 Swing 库可用 |
| 2 | 创建主类 | 创建一个 Java 类,MainFrame |
| 3 | 创建窗口类 | 创建一个继承自 JFrame 的类 |
| 4 | 设置窗口属性 | 、大小、关闭操作等 |
| 5 | 添加组件 | 向窗口中添加组件,如按钮、文本框等 |
| 6 | 显示窗口 | 调用 setVisible(true) 方法 |
| 7 | 事件处理 | 为组件添加事件监听器 |
FAQs
Q1:如何在Java中使用JavaFX创建一个窗口?
A1: 使用JavaFX创建窗口的步骤类似于Swing,但使用的是JavaFX的组件和类,以下是一个简单的JavaFX窗口示例:
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class MainJavaFX extends Application { @Override public void start(Stage primaryStage) { Button button = new Button("Click Me"); button.setOnAction(e > System.out.println("Button was clicked!")); StackPane root = new StackPane(); root.getChildren().add(button); Scene scene = new Scene(root, 300, 200); primaryStage.setTitle("My First JavaFX Window"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
Q2:Swing和JavaFX有什么区别?
A2: Swing和JavaFX都是Java的图形用户界面工具包,但它们有一些关键区别:
