Swing 組件運行在 EDT (Event Dispatch Thread),JavaFX 運行在 JavaFX Application Thread,兩者無法直接共享對象引用傳遞給後台服務。
Serializable,使用 ObjectOutputStream 寫入 Socket 輸出流。Gson/Jackson 序列化為 JSON,HttpClient/OkHttp POST 到 REST API。// JavaBean
public class User implements Serializable {
private Long id;
private String name;
// getter/setter
}
// Swing/JavaFX 共用發送邏輯
public void sendUser(User user) {
String json = new Gson().toJson(user);
Request request = new Request.Builder()
.url("https://api.example.com/user")
.post(RequestBody.create(json, MediaType.parse("application/json")))
.build();
OkHttpClient client = new OkHttpClient();
client.newCall(request).enqueue(new Callback() { ... });
}
採用 HTTP/JSON 或 gRPC,解耦前端技術棧與後端服務,便於未來遷移至純 JavaFX 或 Web 前端。