Buongiorno,
ho sviluppato un progetto Java in IntelliJ Idea e ora ho la necessità di aggiungere un' interfaccia grafica mediante JavaFX. Quali passi devo fare per aggiungere la grafica al mio progetto già esistente e funzionante?
Buongiorno,
ho sviluppato un progetto Java in IntelliJ Idea e ora ho la necessità di aggiungere un' interfaccia grafica mediante JavaFX. Quali passi devo fare per aggiungere la grafica al mio progetto già esistente e funzionante?
Innanzitutto dovresti precisare quale/i versione/i di Java intendi usare e supportare. JavaFX è stato integrato nel JRE/JDK inizialmente a partire da Java SE 8 ma poi successivamente già dal JDK 11 è stato rimosso dal runtime standard. Da quel momento ad oggi, JavaFX è disponibile separatamente ed è noto ora come OpenJFX (https://openjfx.io). Il modo più semplice per usare il JavaFX "moderno" in un progetto è tramite le apposite dipendenze con Maven/Gradle.
Poi dici "al mio progetto già esistente e funzionante". Vuol dire che al momento il tuo progetto non fa interazione con l'utente? O fa interazione es. tramite console (standard-input/output)? Considera che la interazione in una console è molto ben diversa dalle interfacce grafiche che sono basate su eventi quindi, a seconda di quanto/cosa hai già scritto, potresti dover riscrivere abbastanza.
Infine dovresti chiarire se/quanta dimestichezza hai con le interfacce GUI desktop in Java. Hai già usato framework es. AWT, Swing o SWT? (SWT è il framework GUI su cui l'IDE Eclipse si basa, ma si può usare per qualunque propria applicazione).
Se non hai dimestichezza, JavaFX potrebbe risultarti molto "ostico" (che di per sé è già più ostico rispetto a Swing).
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Buongiorno,
al momento ho testato tutto il progetto mediante console e funziona correttamente.
Ho una discreta esperienza con la Java Swing ma volevo passare a javafx .
Ho provato ad aggiunere il mio progetto a Maven mediante la funzione Add Framwork Support di IntelliJ ma senza risultati...
Non hai ancora precisato quale versione di Java usi e intendi fare usare a chi userà l'applicazione. Se è es. Java 8, non c'è bisogno di fare nulla di particolare, JavaFX è già integrato nel JDK/JRE 8. Se invece intendi basarti su JDK 11+, allora JavaFX è da prendere separatamente.
OpenJFX è "modulare" nel senso che hanno prodotto svariati artifact sotto il groupId org.openjfx, ad esempio javafx-controls, javafx-graphics, javafx-fxml, ecc... Dipende da quale parte/ambito di JavaFX intendi usare.
Una dipendenza tipica è es.:
codice:<dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version> ...versione... </version> </dependency>
Le versioni si possono trovare sul Maven Central.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Sto usando Java 16.
Solo che mi trovo abbastanza spaesato perchè sto facendo veramente fatica a trovare delle guide
Allora il version da usare (per sicurezza) è quello del corrispettivo JavaFX 16, ovvero <version>16</version> , del Marzo 2021.
La guida di Oracle è nella sezione JavaFX qui: Client Technologies
Poi c'è anche della documentazione su https://openjfx.io
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Grazie Mille!