2012-09-30 5 views
5

Ho iniziato a giocare con JavaFX 2 e mi piace molto la facilità con cui è possibile creare un'interfaccia utente con FXML. Tuttavia, una volta superati gli esempi di base e hai bisogno di un'interfaccia utente con molte finestre, sembra illogico avere la definizione dell'intera interfaccia utente dell'applicazione in un singolo file FXML.C'è un modo per modularizzare un'applicazione JavaFX?

È possibile scrivere componenti separati in file FXML separati e quindi includerli se necessario? Supponiamo ad esempio che volevo una finestra da far apparire quando l'utente fa clic su un elemento dal menu principale; potrei scrivere la definizione per quella finestra in un file FXML separato, caricarla in fase di runtime e aggiungerla all'albero dei nodi?

+0

Sì, questo dovrebbe essere possibile. Questa risposta è sufficiente o hai qualche problema specifico? – Puce

+0

Beh, immagino che risponda alla domanda specifica che ho fatto. Lasciatemi riformulare: Qualcuno potrebbe fornire un esempio di importazione di un modulo FXML in un'applicazione e l'inserimento di quel nodo nell'applicazione principale durante il runtime? – corbenik

+0

Non dovrebbe essere molto diverso dall'importazione di un singolo FXML. Puoi mostrare ciò che hai provato e dove lotti? – Puce

risposta

4

Dal punto di vista FXML ci sono due approcci:

  1. semplicemente utilizzare fx:include direttiva per dividere l'applicazione in parti logiche in diversi file fxml.

  2. Un modo più avanzato sarebbe quello di implementare parti della vostra applicazione come "controlli" separati. Che avrà la sua API (può essere molto semplice) per fornire dati e può essere utilizzata in FXML o FX API come controlli integrati. Vedere la prossima domanda per i dettagli su come implementarlo utilizzando FXML: How to pass object created in FXML Controller1 to Controller2 of inner FXML control

Problemi correlati