Mi piacerebbe se ci fosse qualche progetto sviluppato in Java per imparare le migliori pratiche di Swing. Intendo un progetto open source ospitato su Internet tramite SVN o simili. Ho letto alcune domande in Stackoverflow su questo argomento ma vedrei alcuni progetti. Grazie.Un buon progetto Swing per l'apprendimento delle migliori pratiche
risposta
Il modo in cui appresi le best practice di Swing era la lettura del codice sorgente Swing nel JDK e la pratica. Segui le pratiche di Sun e sarai sulla strada giusta.
Leggere le implementazioni di JTable, JTree, JScrollPane, i vari LookAndFeels, SwingWorker, SwingUtilities. La gestione degli eventi e gli schemi MVC sono estremamente complessi ma molto leggibili, mantenibili ed estensibili. Essenzialmente, ogni volta che usi un componente, leggi il codice sorgente e capisci cosa e perché lo fanno. Alla fine, inizierai a fare la stessa cosa.
E, soprattutto, codice. Scrivi alcuni programmi di grandi dimensioni e inizierai a vedere cose che non sembrano giuste o ottimali. Vieni a Stack e scopri cosa stai facendo di sbagliato o potresti fare di meglio. Scrivi qualcos'altro e fai lo stesso.
Detto questo, i seguenti progetti sono (o probabilmente) buon codice:
SwingX - I manutentori di SwingX erano Sun/ex-Sun persone, e ho sempre pensato a come incubatore non ufficiale per il futuro Funzionalità swing.
Squirrel (Un client JDBC) - Non ho effettivamente guardato la loro fonte, ma ho usato il programma per anni e non mostra nessuno dei difetti comuni nei programmi Swing scritti male. Con quanto è potente e quanto bene funziona, metterei dei soldi che è estremamente ben scritto.
InfoNode (Un potente framework di docking) - Ho utilizzato un bel po 'del loro codice, ed è piuttosto solido.
JFreeChart (Una potente libreria di grafici) - Non è il codice più grande, ma molto meglio della media, soprattutto tenendo conto di un vecchio progetto che non è mai stato concepito per fare tutto ciò per cui le persone lo usano. Detto questo, è molto estendibile e non ho mai avuto problemi a modellarlo secondo i miei bisogni (che sono molto, molto più delle sue intenzioni originali).
GlazedLists (Una libreria di elenchi basata su eventi altamente performante) - Non esattamente Swing, ma la gestione degli eventi è simile a Swing. Hanno anche implementazioni di modelli Swing e alcuni componenti personalizzati che sono estremamente veloci.
JIDE Common Layer: una vasta collezione di componenti personalizzati che funge da base per i componenti commerciali. Non ho esaminato il loro codice, ma i loro componenti sono belli, e dato che il loro obiettivo principale sono i componenti commerciali di Swing, ancora una volta, metterei i soldi che il loro codice è solido.
Ho trovato molto interessante vedere un'applicazione di qualità professionale scritta in Swing, ad esempio IntelliJ IDEA Community Edition
. Ora che è open source, puoi controllare il codice e iniziare a scavare. Attenzione, non ci sono commenti!
- 1. Guida alle migliori pratiche: Swing
- 2. Cerchi una raccomandazione di un buon tutorial sulle migliori pratiche per un progetto di scraping web?
- 3. Codifica delle migliori pratiche C++
- 4. Accettazione delle migliori pratiche di pagamento
- 5. Test delle migliori pratiche (unità) Windows Azure
- 6. Risorse per migliori pratiche, metodi, ecc.
- 7. Migliori pratiche di configurazione delle soluzioni JavaEE
- 8. Migliori pratiche di strutturazione delle stored procedure
- 9. migliori pratiche per l'iniezione di dipendenza
- 10. WPF themeing migliori pratiche
- 11. Le migliori pratiche per il modello DAO?
- 12. OpenGL VAO migliori pratiche
- 13. migliori pratiche di progettazione JSON
- 14. .htaccess migliori pratiche
- 15. Le migliori pratiche per l'utilizzo di window.onload
- 16. Migliori pratiche del database
- 17. interfaccia Java migliori pratiche
- 18. CSS Outline migliori pratiche
- 19. Le migliori pratiche per combinare Lucene.NET e un database relazionale?
- 20. Quali sono le migliori pratiche per un piccolo team distribuito che funzionerà su un progetto Drupal?
- 21. Quali sono le migliori pratiche per l'internazionalizzazione di un'applicazione desktop Java Swing?
- 22. Migliori pratiche .NET per le connessioni MongoDB?
- 23. Ansible migliori pratiche per copiare le directory
- 24. migliori font size pratiche per il mobile
- 25. Docker, file statici delle app Web. Migliori pratiche?
- 26. Le migliori pratiche per l'API stored procedure?
- 27. Migliori pratiche delle funzioni con nomi dei nomi di PHP
- 28. Migliori pratiche di gestione delle eccezioni del database
- 29. Migliori pratiche Android - visualizzazioni/attività
- 30. Django Rest Framework: migliori pratiche?