1. 安装Java开发环境
在Debian系统上,首先需要安装Java Development Kit (JDK) 以支持Java程序开发。推荐使用OpenJDK(开源且稳定),通过以下命令安装:
sudo apt update
sudo apt install default-jdk # 安装默认JDK(通常为OpenJDK 11或更高版本)
安装完成后,通过java -version命令验证安装是否成功,输出应包含Java版本信息(如openjdk version "17.0.8")。
2. 选择GUI开发框架
Java图形界面开发主要有两种主流框架,需根据需求选择:
3. 配置JavaFX(仅JavaFX项目需要)
若选择JavaFX,需完成以下配置:
javac --module-path /path/to/javafx-sdk-XX/lib --add-modules javafx.controls,javafx.fxml YourJavaFXApp.java
java --module-path /path/to/javafx-sdk-XX/lib --add-modules javafx.controls,javafx.fxml YourJavaFXApp
Project Structure中添加JavaFX SDK路径,并配置运行参数(--module-path和--add-modules)。4. 编写图形界面程序
import javax.swing.*;
public class SwingExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Swing窗口"); // 创建主窗口
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置关闭操作
frame.setSize(300, 200); // 设置窗口大小
JButton button = new JButton("点击我"); // 创建按钮
frame.getContentPane().add(button); // 将按钮添加到窗口
frame.setVisible(true); // 显示窗口
}
}
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class JavaFXExample extends Application {
@Override
public void start(Stage primaryStage) {
Label label = new Label("Hello, JavaFX!"); // 创建标签
StackPane root = new StackPane(); // 使用StackPane布局(居中显示)
root.getChildren().add(label); // 将标签添加到布局
Scene scene = new Scene(root, 300, 200); // 创建场景(关联布局和尺寸)
primaryStage.setTitle("JavaFX窗口"); // 设置窗口标题
primaryStage.setScene(scene); // 将场景设置到窗口
primaryStage.show(); // 显示窗口
}
public static void main(String[] args) {
launch(args); // 启动JavaFX应用
}
}
5. 编译与运行程序
javac SwingExample.java && java SwingExample6. 打包与部署应用
开发完成后,可将程序打包为可执行JAR文件,方便分发:
jar命令打包,需指定主类(包含main方法的类):jar cvfe MyApp.jar com.example.MainClass -C target/classes .
运行:java -jar MyApp.jarjpackage工具(JDK 14+内置)生成原生安装包(如.deb、.exe):jpackage --name MyJavaFXApp --input target --main-jar myapp.jar --main-class com.example.JavaFXExample --type deb
生成的.deb文件可直接在Debian系统上安装。注意事项
javafx.controls用于基础控件,javafx.fxml用于FXML界面设计);ssh -X)运行图形界面程序。