JavaFX este conceput pentru a oferi dezvoltatorilor Java o nouă platformă grafică ușoară și performantă. Intenția este ca aplicațiile noi să utilizeze JavaFX și nu Swing pentru a construi aplicația interfață de utilizator grafică (GUI). Aceasta nu înseamnă că Swing este învechit. Numărul mare de aplicații care au fost construite folosind Swing înseamnă că va face parte din API-ul Java încă mult timp. Mai ales că aceste aplicații pot încorpora funcționalitate JavaFX, deoarece cele două API-uri grafice se execută perfect.
JavaFX poate fi utilizat pentru a crea interfețe grafice de utilizator pentru orice platformă (de exemplu, desktop, web, mobil, etc.).
Inițial, accentul pentru platforma JavaFX a fost destinat în principal aplicațiilor de internet bogate (RIA). A existat un limbaj de script JavaFX menit să faciliteze crearea unei interfețe bazate pe web. Versiunile JavaFX care reflectă această arhitectură au fost:
În octombrie 2011, JavaFX 2.0 a fost lansat. Aceasta a semnalat sfârșitul limbajului de script JavaFX și mutarea funcționalității JavaFX într-o API Java. Aceasta a însemnat că dezvoltatorii Java nu au avut nevoie să învețe un limbaj grafic nou și, în schimb, să fie confortabil creând aplicația JavaFX folosind sintaxa Java normală.
API JavaFX conține tot ceea ce te-ai aștepta de la o platformă grafică - controale UI, animații, efecte etc.Principala diferență pentru dezvoltatorii care trec de la Swing la JavaFX se va obișnui cu modul în care sunt stabilite componentele grafice și noua terminologie. O interfață de utilizator este încă construită folosind o serie de straturi care sunt conținute într-un grafic de scenă. Graficul scenei este afișat pe un container de nivel superior numit scenă.
Pentru utilizatorii de Windows, SDK JavaFX face parte din Java SE JDK de la actualizarea 2 a Java 7. De asemenea, rulajul JavaFX vine acum Java SE JRE.
Din ianuarie 2012, există o previzualizare a dezvoltatorilor JavaFX 2.1 disponibilă pentru descărcare pentru utilizatorii Linux și Mac OS X.