Ho un gioco di carte JavaFX attualmente in esecuzione per giocatore singolo. Voglio consentire a più giocatori di giocare su connessioni socket TCP, per le quali ho un semplice programma scheletro client/server scritto in java.Avvia l'app javaFX dal codice java
Il mio problema è: il codice server/client è in java. Come posso avviare l'app javafx dal codice java del client e quindi aggiornarla in base al gamestate restituito dal server?
Il ciclo client-server semplice sarà: il client invia l'azione, gli aggiornamenti del server gamestate e lo rimanda al client.
client pseudo-code
if(!clientGUI.isInitialised())
initJavaFXapp(); // I am struggling to do this
//keep reading from server
if(obj instanceOf gameState)
javaFXGUI.update(obj)
Io sono principiante con JavaFX, e ho utilizzato l'aspetto grafico come la mia applicazione si basa su di esso.
Qualsiasi aiuto sarebbe molto apprezzato.
Grazie. Ma come ottengo un'istanza della classe javafx? In modo che posso aggiornare i componenti su di esso utilizzando metodi pubblici appartenenti alla classe javafx? –
Viene visualizzato anche un errore che dice "Eccezione nel thread" principale "java.lang.RuntimeException: Errore: classe Project1.runJavaFX non è una sottoclasse di javafx.application.Application'. Dove runJavaFX è la classe java e al suo interno ho messo "Application.launch (TableGUI.class)". dove tableGUI è l'app javaFX. @SergeyGrinev –
appena ricontrollato, funziona con JavaFX 2.2 quale versione usi? Ad ogni modo, come soluzione alternativa, puoi creare un metodo statico in 'TableGUI' che chiamerà' launch'. E chiama quel metodo dalla classe 'runJavaFX'. –