Ubuntu 上 Java GUI 开发实战指南
一 环境准备
sudo apt update && sudo apt install openjdk-17-jdkjava -version、javac -versionsudo apt install eclipse)。nano ~/.bashrcexport JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64source ~/.bashrcssh -X user@host)以在本机显示窗口。二 选择 GUI 技术栈
三 快速上手示例
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class HelloWorldSwing {
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
JFrame f = new JFrame("Hello, Swing");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel();
JLabel l = new JLabel("Hello, World!");
p.add(l);
f.add(p);
f.setSize(300, 200);
f.setLocationRelativeTo(null);
f.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 HelloWorldFX extends Application {
@Override
public void start(Stage stage) {
Label label = new Label("Hello, JavaFX!");
Scene scene = new Scene(new StackPane(label), 300, 200);
stage.setTitle("Hello JavaFX");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) { launch(); }
}
javac HelloWorldSwing.java && java HelloWorldSwingPATH_TO_FX 指向其 lib 目录javac --module-path $PATH_TO_FX --add-modules javafx.controls HelloWorldFX.javajava --module-path $PATH_TO_FX --add-modules javafx.controls HelloWorldFX四 项目构建与运行
mvn archetype:generate \
-DarchetypeGroupId=org.openjfx \
-DarchetypeArtifactId=javafx-archetype-simple \
-DarchetypeVersion=0.0.3 \
-DgroupId=com.example -DartifactId=javafx-app -Dversion=1.0-SNAPSHOT \
-Djavafx.version=17.0.1
pom.xml 中添加 JavaFX 依赖(如 javafx-controls、javafx-fxml),使用 mvn compile / mvn package 构建,运行:java --module-path $PATH_TO_FX --add-modules javafx.controls,javafx.fxml -jar target/javafx-app-1.0-SNAPSHOT.jar
五 常见问题与进阶