2009-09-08 23 views
25

Scrivo applicazioni in Java e sto cercando modi per accelerare la programmazione della GUI. I framework vincolanti sono d'aiuto, ma la particolare applicazione su cui sto lavorando ora non trarrebbe beneficio da quello (non mostra molti dati, solo un sacco di modi per manipolare i dati). Mi sento come se trascorressi troppo tempo a scrivere il codice GUI della piastra di riscaldamento, come aggiungere action lister, disporre componenti, ecc. Mentre non sono uno sviluppatore C#, ho sentito che XAML funziona molto bene e ho visto JAXX, che sembra essere simile a XAML. Sto anche guardando il Groovy Swing Builder. Sembra proprio che ci siano così tante opzioni, forse anche troppe.Alternative della GUI Java

Qualcuno può condividere le proprie opinioni su alternative a mano scrivendo codice UI Java semplice?

Inoltre, sarei interessato a discutere su come migrare il codice Java Swing esistente per utilizzare alcune di queste opzioni.

grazie, Jeff

+5

Ho evitato di scrivere applicazioni GUI Java ogni volta possibile a causa di questo.Sono interessato a vedere anche i suggerimenti. –

+2

Ho avuto la stessa sensazione fino a quando non provo a utilizzare la GUI creator di Netbeans. Inoltre, sto giocando un po 'con JavaFX e penso che possa davvero velocizzare la GUI (ma non ho ancora avuto molto tempo per giocarci). – NawaMan

+0

Ho preso in considerazione l'idea di utilizzare i creatori di GUI, ma credo che mi sembra che ci sia troppa generazione di codice GUI (simile alla scrittura manuale). Vero il creatore della GUI aiuta ad accelerare il processo ma non elimina il codice della piastra della caldaia che tende ad apparire dappertutto (so che sotto la cappa cose come XAML continuano a generare il codice in fase di runtime, ma almeno non lo fai " t mantenere il codice). –

risposta

3

Griffon è un framework Groovy per la creazione di applicazioni desktop Java. Certo, se non conosci già Groovy, dovrai imparare (alcune parti di) una nuova lingua per usarlo efficacemente, ma a mio avviso la produttività aumentata vale la pena.

+0

Accetto. Quando ho scritto questa domanda, ero ancora un po 'nuovo di groovy, ma lo scrivo da qualche anno. Griffon è un po 'più maturo ora e sembra un quadro ragionevole da utilizzare per gli ambienti desktop. –

+1

Vale la pena ricordare che è possibile creare un'applicazione Griffon anche con Java puro, vedere http://griffon.codehaus.org/guide/latest/guide/tips.html#nonGroovyArtifacts come riferimento. – aalmiray

1

Non sono un esperto in programmazione GUI, ma hai provato ad utilizzare NetBeans as a platform per la tua app?

+0

Sembra essere per applicazioni più grandi. Potrebbe essere controproducente. Vedi questo "intro": http://netbeans.dzone.com/videos/free-netbeans-platform-crash – OscarRyz

5

Si consiglia di utilizzare Clojure Consente di scrivere rapidamente GUI Java senza il boilerplate.

3

Si consiglia di utilizzare un IDE con builder GUI.

IntelliJ IDEA e e NetBeans hanno builder GUI molto validi, consentono di associare automaticamente gli oggetti e ridurre enormemente lo sforzo necessario per creare una GUI anziché eseguirla completamente a mano.

+0

Come fan dei costruttori di UI, sento che dovrei aggiungere - Se ne usi uno non butta fuori standard della finestra. Quando aggiungi un widget, assegnagli sempre il nome ed evita la spazzatura con doppio click-auto-add-listener. –

7

Layout:

Per i layout, mi hanno abbandonato i gestori di layout JDK a favore dello strumento JGoodies Forms. Lo trovo molto più efficace. Legge ad un livello più alto e riduce significativamente la quantità di codice relativa ai layout.

+0

concordato. Lo uso anche io. Sicuramente aiuta. –

+0

DesignGridLayout può anche aiutare molto per gli aspetti del layout, se nella tua interfaccia utente sono presenti solo moduli. – jfpoilpret

+0

+1 per JGoodies Forms –

3

Sono d'accordo con altri che legare a NetBeans sembra pericoloso, specialmente quando si lavora con altri sviluppatori. Ho usato il plug-in (commerciale) Swing Designer (di "instantiations") per Eclipse con un notevole successo: la cosa che mi piace è che si tratta di viaggi di andata e ritorno che generano codice che sei libero di modificare a mano. Non perfetto, ma un buon risparmio di tempo.

Ma la più grande differenza nella mia programmazione Swing è arrivata con la scoperta di migliori gestori di layout. Sono passato da FormLayout (buono), a TableLayout (meglio), ma ora non uso altro che MiGLayout (incredibile).

10

Che ne dici di utilizzare MiGLayout?

È estremamente semplice da imparare e utilizzare. Lo consiglio vivamente a voi. Nel mio ultimo progetto, mi ha aiutato a ridurre molto tempo per implementare molte interfacce grafiche.

+0

Lo controllerò. Grazie. –

+0

MigLayout ha reso lo sviluppo molto semplice e facile per me. – binarycreations

2

Puoi provare ZK (la migliore infrastruttura Java open source per la creazione di applicazioni Web e mobili aziendali). http://www.zkoss.org/