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)運行圖形界面程序。