2011-02-02 3 views
6

Swing zapewnia podstawowe elementy konstrukcyjne dla dowolnej aplikacji GUI, ale co z wyższym poziomem w budowaniu aplikacji GUI?Bloki Essentials Java GUI? To znaczy. biblioteki tworzą szkielet na szczycie Swinga

Nie pytam o wiele arbitralnych bibliotek, które zapewniają jeszcze więcej wizzy na różnych komponentach wizualnych.

Mówię o brakujących elementach, które każdy kończy budowanie się, gdy tworzą coś innego niż trywialna aplikacja GUI.

tj. ramy, na których opiera się logika specyficzna dla aplikacji.

E.g. obsługa powiązania danych, problemy z cyklem życia aplikacji lub obsługa typowych elementów, takich jak formularze budowlane.

Jeśli mówimy o wytrwałości, można powiedzieć, że każdy może zakodować własną warstwę utrwalania za pomocą klas javax.sql lub java.io - jednak większość ludzi wolałaby używać czegoś w rodzaju Hibernacji.

Tak więc, tak jak ktoś pytający o biblioteki trwałości prawdopodobnie nie szuka wariantów w ObjectOutputStream, nie szukam wariantów na podklasie JComponent lub innej.

Myślę, że jest to uczciwe pytanie Stackoverflow, ponieważ w przeciwieństwie do obszarów takich jak trwałość, jasny konsensus dotyczący odpowiedzi nie jest łatwy do określenia za pomocą Google.

Zamiast porwać losowe biblioteki, być może ludzie mogliby odpowiedzieć w kategoriach, które zagadnienia interfejsu graficznego nie są natychmiast omawiane przez Swinga i jakie biblioteki czują się najlepiej wypełniać te luki?

Poprosiłem o podobne question do tego ostatniego tygodnia i został zamknięty - Próbowałem sformułować to tak, że nie będzie to również zamknięte. Jeśli masz ochotę go zamknąć, możesz zamiast tego rozważyć utworzenie społecznościowej wiki?

+0

Nie mogę głosować, aby zamknąć, ale nie, ale zgadzam się, że jest to interesujące i wartościowe pytanie, gdziekolwiek należy. –

Odpowiedz

4

Oto niektóre niezbędne biblioteki:

JGoodies - http://www.jgoodies.com/. Zapewnia to kilka ładnych narzędzi do tworzenia layoutów (FormLayout), a także wspólne narzędzia do budowania i tworzenia kopii zapasowych danych

SwingLabs - http://www.swinglabs.org/. Zapewnia to wiele typowych komponentów, które prawdopodobnie będą potrzebne, które nie są częścią standardowego zamachu.

Swing Application Framework - https://appframework.dev.java.net/ (już wspomniano przez jluzwick)

Groovy SwingBuilder - http://groovy.codehaus.org/Swing+Builder. Zapewnia to łatwiejsze budowanie GUI przy użyciu logicznego, hierarchicznego języka podobnego do skryptu do budowania GUI. Ma również natywne wsparcie dla niektórych funkcji łączenia danych.

+0

W szczególności, spójrz na JGoodies [Skeleton Pro] (http://www.jgoodies.com/freeware/skeleton-pro/index.html) . –

3

Czy możesz odwoływać się do czegoś takiego?

https://appframework.dev.java.net/

ta została zintegrowana z Netbeans w jednym punkcie i nie sądzę, kontynuuje rozwój, ale te ramy znacznie pomogło mi w tworzeniu znacznie bardziej zaangażowane aplikację Java.

EDIT:

Wydaje projekty te są pochodne od dawna mówiłem, że aktywnie w rozwoju:

http://kenai.com/projects/bsaf/pages/Home

http://kenai.com/projects/guts/pages/Home

+0

Mimo że ta odpowiedź ma najwięcej głosów, przyjmuję odpowiedź Jeffa. Byłem świadomy Swing Application Framework (i niefortunnego faktu, że podobnie jak wiele rzeczy związanych z JDK7, które teraz stają się agresywne). Niezależnie od tego, jaki jest obecny status, zawsze odczuwam to java.logging, tzn. Podejrzewam, że niekoniecznie był krok naprzód w stosunku do tego, co było już dostępne w projektach błogosławionych innych niż JCP (chociaż eliminowanie zależności od rzeczy spoza standardowej biblioteki klasowej jest zawsze wielką wygraną samą w sobie i wartą pewnych kosztów). –

+0

Bez obaw. Jego odpowiedź miała więcej treści i opcji, więc rozumiem, dlaczego wybrałeś jego :) – jluzwick

1

Mają wygląd na platformie NetBeans (huśtawka oparciu RCP)

2

JGoodies Bindings jest świetny, jeśli chcesz mieć dobrze zaprojektowany program.

Platforma NetBeans (RCP) Naprawdę chcę spróbować. To naprawdę jedyne realne ramy Swing, ponieważ ...

Swing Application Framework jest bardzo brakuje i nie jest już aktywnie rozwijany.

MiGLayout jest moim ulubionym menedżerem układu dla przypadków, w których korzystałem z GridBagLayout (dawno temu) i layoutu formularza JGoodies. Ponadto nie lubię GroupLayout.