java如何写窗口程序
使用Java Swing创建窗口程序
Java Swing是Java提供的GUI工具包,适合创建跨平台的窗口程序。以下是一个简单的窗口程序示例:
import javax.swing.*;
public class MainWindow {
public static void main(String[] args) {
// 创建主窗口
JFrame frame = new JFrame("我的窗口程序");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
// 添加组件
JLabel label = new JLabel("欢迎使用Java Swing", SwingConstants.CENTER);
frame.add(label);
// 显示窗口
frame.setVisible(true);
}
}
使用JavaFX创建现代化窗口程序
JavaFX是Java的下一代GUI框架,提供更丰富的功能和现代化的界面:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class MainApp extends Application {
@Override
public void start(Stage primaryStage) {
Label label = new Label("欢迎使用JavaFX");
StackPane root = new StackPane(label);
Scene scene = new Scene(root, 400, 300);
primaryStage.setTitle("我的JavaFX窗口");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
添加事件处理
为按钮添加点击事件处理:
JButton button = new JButton("点击我");
button.addActionListener(e -> {
JOptionPane.showMessageDialog(frame, "按钮被点击了!");
});
frame.add(button);
使用布局管理器
Swing提供多种布局管理器来控制组件排列:
// 使用边界布局
frame.setLayout(new BorderLayout());
frame.add(new JButton("北部"), BorderLayout.NORTH);
frame.add(new JButton("中部"), BorderLayout.CENTER);
打包和分发
使用Maven或Gradle构建工具打包可执行JAR:

<!-- Maven pom.xml片段 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>






