2011-11-02 9 views
11

Chciałbym, jeśli jest jakiś projekt opracowany w Javie, aby poznać najlepsze praktyki Swing. Mam na myśli projekt open source hostowany w Internecie za pośrednictwem SVN lub podobnego. Czytałem kilka pytań w Stackoverflow na ten temat, ale zobaczyłem kilka projektów. Dzięki.Dobry projekt Swing do nauki najlepszych praktyk

Odpowiedz

8

Sposób, w jaki nauczyłem się najlepszych praktyk Swinga, polegał na czytaniu kodu źródłowego Swing w JDK i ćwiczeniu. Postępuj zgodnie z praktykami Sun, a będziesz na dobrej drodze.

Przeczytaj implementacje JTable, JTree, JScrollPane, różnych LookAndFeels, SwingWorker, SwingUtilities. Ich obsługa zdarzeń i wzorce MVC są niezwykle złożone, ale bardzo czytelne, łatwe w utrzymaniu i rozszerzalne. Zasadniczo, za każdym razem, gdy używasz komponentu, przeczytaj kod źródłowy i dowiedz się, co i dlaczego robią. W końcu zaczniesz robić to samo.

A co najważniejsze, kod. Napisz kilka dużych programów, a zaczniesz widzieć rzeczy, które nie wydają się właściwe lub optymalne. Przyjdź do Stack i dowiedz się, co robisz źle lub co możesz zrobić lepiej. Napisz coś innego i zrób to samo.

To powiedziawszy, następujące projekty (lub prawdopodobnie) dobry kod:

SwingX - Opiekunowie SwingX były Słońce/ex-Sun ludzie, a ja zawsze myślałem o nim jako nieoficjalna inkubator przyszłości Funkcje Swing.

Squirrel (Klient JDBC) - Właściwie nie patrzyłem na ich źródło, ale używam tego programu od lat i nie pokazuje on żadnych typowych wad źle napisanych programów Swing. Jak potężna jest i jak dobrze działa, wkładam pieniądze, które są bardzo dobrze napisane.

InfoNode (Potężne ramy dokowania) - Przeszedłem sporo ich kodu, a jego całkiem solidne.

JFreeChart (Potężna biblioteka do tworzenia wykresów) - To nie jest najlepszy kod, ale znacznie lepszy niż przeciętny, zwłaszcza biorąc pod uwagę jego stary projekt, który nigdy nie był przeznaczony do robienia wszystkiego, do czego ludzie go używają. To powiedziawszy, jest to bardzo rozszerzalne i nigdy nie miałem problemu z dopasowaniem go do moich potrzeb (które są znacznie, o wiele bardziej niż pierwotne intencje).

GlazedLists (Wysoce wydajna biblioteka listy zdarzeń) - Niezupełnie Swing, ale obsługa zdarzeń jest podobna do Swing. Mają również implementacje modeli Swing i niektóre niestandardowe komponenty, które są niezwykle szybkie.

JIDE Common Layer: Ogromna kolekcja niestandardowych komponentów, które stanowią podstawę do ich komercyjnych komponentów. Nie przejrzałem ich kodu, ale ich komponenty są piękne, a ponieważ ich głównym celem są komercyjne komponenty Swing, po raz kolejny dałbym pieniądze, że ich kod jest solidny.

3

Zauważyłem, że bardzo interesująca jest aplikacja o profesjonalnej jakości napisana w Swing, na przykład IntelliJ IDEA Community Edition. Teraz, gdy jest już otwarty, możesz sprawdzić kod i zacząć kopać. Bądź jednak ostrzeżony, nie ma komentarzy!

Powiązane problemy