2013-02-20 36 views
5

Tôi có một trò chơi thẻ JavaFX hiện đang chạy cho một trình phát. Tôi muốn cho phép nhiều người chơi chơi trên các kết nối socket TCP, mà tôi có một chương trình bộ máy khách/máy chủ đơn giản được viết bằng java.Khởi chạy ứng dụng javaFX từ mã java

Vấn đề của tôi là: mã máy chủ/máy khách nằm trong java. Làm cách nào để khởi chạy ứng dụng javafx từ mã java của máy khách và sau đó cập nhật nó dựa trên trò chơi được trả về từ máy chủ?

Vòng lặp máy chủ-máy khách đơn giản sẽ là: ứng dụng khách gửi hành động, cập nhật máy chủ để trò chuyện và phản hồi lại cho khách hàng.

client pseudo-code 

if(!clientGUI.isInitialised()) 
    initJavaFXapp(); // I am struggling to do this 

//keep reading from server 
if(obj instanceOf gameState) 
    javaFXGUI.update(obj) 

Tôi mới bắt đầu sử dụng javaFX và tôi đã sử dụng khía cạnh đồ họa như ứng dụng dựa trên nó.

Mọi trợ giúp sẽ được đánh giá cao.

Trả lời

16

Giả sử MyApplication lớp kéo dài javafx.application.Application bạn có thể khởi chạy nó theo cách sau:

javafx.application.Application.launch(MyApplication.class); 
+1

Cảm ơn. Nhưng làm thế nào để tôi có được một thể hiện của lớp javafx? Để tôi có thể cập nhật các thành phần trên nó bằng các phương thức công khai thuộc lớp javafx? –

+1

Tôi cũng nhận được một lỗi nói rằng "Ngoại lệ trong chủ đề" chính "java.lang.RuntimeException: Lỗi: class Project1.runJavaFX không phải là một phân lớp của javafx.application.Application'. Trường hợp runJavaFX là lớp java, và bên trong đó tôi đã đặt 'Application.launch (TableGUI.class)'. nơi tableGUI là ứng dụng javaFX. @SergeyGrinev –

+0

chỉ cần kiểm tra lại, làm việc với JavaFX 2.2 phiên bản nào bạn sử dụng? Dù sao, bạn có thể tạo phương thức tĩnh trong 'TableGUI' sẽ gọi' launch'. Và gọi phương thức đó từ lớp 'runJavaFX'. –

Các vấn đề liên quan