L'anno scorso, con il rilascio della versione 2.0, JavaFX finalmente iniziato a guadagnare l'attenzione alle conferenze grande e ci sembrava per la prima volta da un cambiamento nella percezione degli sviluppatori, ora che Oracle ha affrontato i temi che ha tenuto gli sviluppatori Java di utilizzare questa nuova tecnologia di interfaccia utente .
Ci sono i seguenti problemi sono stati risolti:
- Altalena integrazione
- Preloader
- JavaFX sarà Open Source ,
- JavaFX può essere legalmente distribuiti con l'applicazione
- C'è una roadmap per il supporto Mac e Linux
- E ' parte della più recente del JDK JVM / spedito da Oracle e potrebbe diventare una parte ufficiale del JDK di Java 9.
Quindi, non c'è praticamente più scuse per non usarla ;-), e con i concorrenti Flash e Silverlight perdere il sostegno dai suoi creatori, era giunto il momento di fornire agli sviluppatori le attrezzature per giocare con JavaFX.
5 Gennaio 2012, il team di NetBeans rilasciato la versione 7.1 del popolare IDE. I cambiamenti più significativi sono il supporto per JavaFX 2.0, un debugger UI per JavaFX e Swing e un nuovo batch Refactoring strumento per cambiamenti di massa in progetti Java. Oltre che molti componenti sono stati aggiornati, ad esempio, supporto Java EE, progetti PHP e ci sono stati alcuni miglioramenti nei sistemi di codice delle versioni supportate. In questo articolo avremo uno sguardo più da vicino il supporto JavaFX.
Immagine 1: un'applicazione demo JavaFX fornito con NetBeans
JavaFX 2,0 Tipi progetto
Dopo di dumping JavaFX Script (che vive al di fuori Oracle e ha ampliato il suo campo di applicazione Visage progetto ) e lo spostamento di pianura FXML Java e tutti gli strumenti esistenti sono stati resi inutili. Il supporto per JavaFX doveva essere ricreato da zero sulla base di progetti Java. Ecco perché non c'era alcun supporto JavaFX nel minor release.Dopo anni di refactoring del supporto JavaFX più e più volte, deve essere stato un sollievo per la squadra di NetBeans, che non ci saranno cambiamenti più settimanale lingua casuale al JavaFX Script Spec. Ancora è un po 'triste, che tanto lavoro doveva essere sprecato che poteva andare in altre parti dell'IDE. E alcune persone si sentono ancora che il linguaggio di script non è stato in realtà una cattiva idea a tutti.
NetBeans 7,1 aggiunge tre ANT-based tipi di progetto per JavaFX: " JavaFX Application "," J AvaFX Preloader "e"JavaFX Application FXML ". applicazione JavaFX è fondamentalmente un progetto ANT standard con funzionalità abilitate JavaFX. Durante la creazione del progetto si verificherà per una JavaFX abilitati JDK, e se non c'è un registrato, ti aiuterà ad aggiungere il supporto JavaFX ad un JDK standard. Il progetto consente di creare, eseguire ed eseguire il debug dell'applicazione. L'unica differenza a questo in un applicazione JavaFX FXML è il codice generato è possibile utilizzare per iniziare. In quest'ultimo caso il codice per caricare l'interfaccia utente da un file FXML esempio sarà generato. Non c'è ancora nulla che ti impedisce di usare FXML in un'applicazione standard di JavaFX.
AJ AvaFX Preloader progetto crea un Preloader, una piccola applicazione che può essere eseguito prima che la domanda effettiva durante il processo di avvio delle applicazioni. E 'particolarmente utile in JNLP implementazioni basate su e può essere utilizzato per mostrare i progressi (splash screen). Il progetto creerà il codice per una finestra Preloader semplice contenente una ProgressBar:
Utilizzandolo come una schermata iniziale per un'applicazione JavaFX è semplice. Fare clic con il progetto di applicazione JavaFX e scegliete "Proprietà". Nella finestra di dialogo Proprietà per cambiare la scheda "Esegui".Utilizzando il pulsante "Sfoglia" accanto alla sezione Preloader disabili, è possibile selezionare un file JAR o un progetto NetBeans per registrare il Preloader. Al prossimo avvio, l'applicazione mostrerà il Preloader. C'è un bel tutorial che descrive come è possibile creare e registrare il Preloader utilizzando NetBeans in modo più dettagliato .
FXML
NetBeans 7,1 aggiunge il supporto per FXML, il nuovo formato XML per la specifica l'interfaccia utente. Quando si crea un nuovo FXML-Template, sia la creazione del progetto, come descritto sopra, o creandone uno con il "Nuovo file" Wizard, l'IDE creerà automaticamente classe controller per voi. Che bello, perché anche se Controller sono opzionali, è buona architettura di usarli allo scopo di separare il comportamento dalla progettazione e incapsulare in una classe dedicata.
Uno dei problemi del formato FXML è che purtroppo non c'è nessuno schema / DTD . Come risultato di default XML supporto non sarà in grado di darvi tutto l'aiuto come completamento del codice, ecc. Così, mentre NetBeans supporta l'editing dei file FXML, non fornisce aiuto oltre il controllo della correttezza del tuo tag di apertura e di chiusura.
Tuttavia mi aspetto uno strumento grafico per la modifica dei file FXML comunque, e presumo che sia nella lista TODO per il prossimo rilascio. Fino ad allora io personalmente non uso FXML troppo, perché sento che XML è troppo prolisso e la necessità di apertura e chiusura tag per definire una gerarchia di oggetti trovato nel flusso della programmazione. Il progetto Eclipse per il supporto JavaFX sviluppo e (FX) Clipse ha anche inventato proprio DSL fxgraph , che viene poi convertito in FXML al fine di risolvere questi problemi. Un'idea intelligente e una migliore alternativa per la codifica manuale interfacce utente in modo dichiarativo.
Istantanee di debug interfaccia utente
Diverso da quello del supporto JavaFX funziona molto bene e si aggiunge una caratteristica molto cool: debug grafico .Durante una sessione di debug è ora possibile prendere istantanee dell'interfaccia utente , che si presenterà nell'IDE.Nella schermata è possibile selezionare i singoli componenti e di esplorare le loro proprietà utilizzando la finestra Proprietà. È possibile esplorare la gerarchia componente nel navigatore e c'è un nuovo " Eventi Tab "in uscita ascoltatori Area lista allegata ai controlli e anche permettendo di collegare gli ascoltatori di registrazione. La finestra di eventi è un po 'difficile da trovare però. Può essere aperta dal menu contestuale di un componente nel navigatore. Questo nuovo strumento è molto fresco e disponibile, ma finora ho solo avuto questa caratteristica di lavorare con applicazioni Swing sul mio Mac, non per JavaFX, forse un bug della versione Beta OS X JavaFX.
Applicazioni di stili con i CSS
La mia caratteristica preferita di JavaFX 2.0 è il supporto CSS per lo stile . NetBeans 7.1 supporta ora che con l'aggiunta di CSS3 supporto , in modo da controlli può essere facilmente personalizzato con questo approccio. Per maggiori dettagli date un'occhiata al mio recente articolo su DZone che mostra un esempio di questa tecnica. Sfortunatamente il supporto CSS insufficiente e non prevede ancora il completamento del codice per JavaFX proprietà specifiche , o almeno io non sono riuscito a invocarlo. Anche il CSS Stylebuilder e l'anteprima sembrano funzionare solo con la (HTML) le proprietà predefinite. Quindi c'è ancora spazio per migliorare qui.
Campioni e altre cose
NetBeans applicazioni di esempio fornito con più di 30 JavaFX dimostrando diversi aspetti della JavaFX. Essi coprono tutto da Grafici, FXML, transizioni, Animazione, Key-e MouseEvents, Media, ecc e sono una grande risorsa per l'apprendimento.
Quando si tratta di distribuzione, tutti i modelli di implementazione proposto, applet, desktop e Webstart sono ora supportati dall'IDE e non c'è supporto per Preloaders che permettono di personalizzare e migliorare l'esperienza di caricamento di un'applicazione JavaFX, un altro gli sviluppatori di cosa hanno richiesto molto tempo. È possibile configurare queste impostazioni molto comodamente in Proprietà progetti .
Ho usato il supporto JavaFX in NetBeans IDE un bel po 'nelle ultime settimane nella release candidate NetBeans IDE, ed è sicuramente utilizzabile e disponibile. Quindi spero di alcuni strumenti grafici che rendono più facile definire interfacce utente sia come parte del IDE o come strumenti di accompagnamento.
Nessun commento:
Posta un commento
Nota. Solo i membri di questo blog possono postare un commento.