2013-03-12 15 views
18

Avevo una Java Desktop Application in cui l'interfaccia utente grafica aveva progettato in swing. Dopo che siamo venuti a sapere che JavaFX replacing Swing abbiamo sostituito l'interfaccia utente grafica con JavaFX.JavaFX è la sostituzione completa di Swing?

"6. È JavaFX sostituzione swing come la nuova libreria client di interfaccia utente per Java SE ? Sì. Tuttavia, Altalena rimarrà parte della specifica Java SE per il prossimo futuro, ed è inclusa nel JRE. Da una parte, lo Swing è ampiamente utilizzato nelle applicazioni desktop Java esistenti, ma si basa su una vecchia architettura su una vecchia architettura, che richiede un certo livello di competenza . D'altra parte, JavaFX dispone di una serie di moderni controlli UI che possono essere scuoiati usando le tecniche CSS standard. Mentre raccomandiamo agli sviluppatori di sfruttare le API JavaFX il più possibile quando buildi nuove applicazioni, è possibile utilizzare Swing e JavaFX all'interno della stessa applicazione, consentendo agli sviluppatori di estendere le applicazioni esistenti di Swing ".

Ora abbiamo sentito che Oracle ha donato il kit di strumenti JavaFX alla comunità open source e la comunità di OpenJDK aveva accettato di assumerla.

Il toolkit JavaFX si è evoluto dal progetto F3 di Sun. Le versioni iniziali di erano basate sul linguaggio di scripting JavaFX, tuttavia, in 2011 il toolkit è stato completamente riscritto in Java e rilasciato da Oracle come JavaFX 2.0. Nell'ottobre 2011 Oracle ha annunciato che avrebbe donato il kit di strumenti JavaFX alla comunità open source e entro novembre 2011 che la comunità di OpenJDK aveva accettato di assumerla.

Non penso che JavaFX sia stabile. Non ha un supporto rapido. Il documento non è abbastanza esplicativo. Non rilascia memoria interna quando il palco è chiuso. La mia applicazione è un'applicazione multithread e la maggior parte del tempo impiegato dalla mia applicazione per aggiornare lo stato di ogni singolo thread. La copia autonoma di JRE nel pacchetto nativo non è affidabile, dobbiamo sostituirla con la cartella JRE che risiede in JDK.

È davvero frustrante e mi chiedo se JavaFX è adatto allo sviluppo dell'applicazione Java Desktop.

+4

Se si condividono istanze specifiche, le carenze che hai citato (stabilità, supporto lento, ecc.) Sarebbero interessanti. –

+1

L'altalena non si è evoluta da anni. Anche se JavaFX non è solido al momento, credo che sia il futuro della GUI Java. Ad esempio, verrà eseguito su JVM 8 su ARM. Vale la pena di eseguire il debug delle patch sole/in attesa durante lo sviluppo di un'applicazione? Spetta a te, se vuoi usarlo subito: sei un Early Adopter (che ha vantaggi), spero che JavaFX 8 sia la versione "stabile" completa che tutti sperano. Detto questo, non conosco molte persone che pensano che Swing sia la futura GUI Java: tutti pensano che stia morendo, per la maggior parte è una tecnologia legacy. – zenbeni

risposta

9
Is JavaFX complete replacement of Swing? 

penso che non,

  • la maggior parte dei componenti sono halfsized in confronto con Swing (prezzo per lo sviluppo ???),

  • implementazioni in JavaFX8 (accesible con Java8) ha un punto importante che Swing JComponents potrebbe essere accessibile dai contenitori JavaFX e JavaFX Components sarà accessibile in Swing JContainers (implementato in JavaFX2.2 più recente),

  • poi JavaFX sarà accessibile per lo sviluppo di applicazioni desktop

  • ancora domanda è se sarà possibile aggiungere JavaFX TextArea insieme dell'oscillazione JTextArea in un JPanel o viceversa (pannello da xxx.scene.xxx)

  • altro (le migliori informazioni, tabella di marcia, sviluppo ...) Su FX Experience (avviso di tanto in tanto è giù :-)

+1

ma ... [Oracle dice diversamente] (http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6) – ItamarG3

11

Secondo Oracle, JavaFX è un sostituto per Swing:

http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6, domanda 6, dice:

Is JavaFX sostituzione Swing come nuova libreria UI client per Java SE?

. Tuttavia, Swing rimarrà parte delle specifiche Java SE per il prevedibile futuro, e quindi inclusa nel JRE. Mentre raccomandiamo agli sviluppatori di sfruttare le API JavaFX il più possibile durante la creazione di nuove applicazioni, è possibile estendere un'applicazione Swing con JavaFX, consentendo una transizione più fluida.

Problemi correlati