2009-09-08 11 views
25

Piszę aplikacje w Javie i szukam sposobów na przyspieszenie programowania GUI. Struktury bindowania pomagają, ale konkretna aplikacja, nad którą pracuję teraz, nie skorzystałaby z tego zbyt wiele (nie wyświetla dużej ilości danych, tylko wiele sposobów manipulowania danymi). Wydaje mi się, że spędzam zbyt dużo czasu na pisaniu kodu GUI na tablicy kotła, jak na przykład dodawanie słuchaczy akcji, układanie komponentów itp. Chociaż nie jestem programistą C#, słyszałem, że XAML działa bardzo dobrze i widziałem JAXX, który wydaje się być podobny do XAML. Patrzę również na konstruktor huśtawek Groovy. Wygląda na to, że jest tak wiele opcji, może nawet zbyt wiele.Java GUI alternatives

Czy każdy może podzielić się swoimi przemyśleniami na temat możliwości ręcznego pisania prostego kodu Java UI?

Ponadto chciałbym omówić sposób migracji istniejącego kodu Java Swing, aby skorzystać z niektórych z tych opcji.

dzięki, Jeff

+5

Uniknąłem pisania aplikacji Java GUI, gdy tylko było to możliwe.Chciałbym również zobaczyć sugestie. –

+2

Miałem to samo uczucie, dopóki nie spróbuję użyć twórcy GUI Netbeans. Grałem też trochę z JavaFX i myślę, że może naprawdę przyspieszyć GUI (ale jeszcze nie ma czasu na zabawę). – NawaMan

+0

Rozważałem użycie twórców GUI, ale myślę, że po prostu czuję, że generowany jest zbyt duży kod GUI (podobny do ręcznego pisania). Prawdziwy twórca GUI pomaga przyspieszyć proces, ale nie eliminuje kodu płyty kotła, który ma tendencję do pojawiania się w każdym miejscu (wiem, że pod maską rzeczy takie jak XAML nadal generują kod w czasie wykonywania, ale przynajmniej nie robisz tego t muszą zachować kod). –

Odpowiedz

3

Griffon to platforma Groovy do tworzenia aplikacji Java na komputer. Prawdą jest, że jeśli nie znasz jeszcze Groovy, musisz nauczyć się (niektórych części) nowego języka, aby efektywnie z niego korzystać, ale zwiększona produktywność jest warta mojego wysiłku.

+0

Zgadzam się. Kiedy pisałem to pytanie, wciąż byłem trochę nowy, ale fajnie go piszę od kilku lat. Griffon jest teraz nieco bardziej dojrzały i wydaje się rozsądną strukturą do wykorzystania w środowiskach graficznych. –

+1

Warto wspomnieć, że można również zbudować aplikację Griffon z czystą Javą, patrz http://griffon.codehaus.org/guide/latest/guide/tips.html#nonGroovyArtifacts w celach informacyjnych. – aalmiray

1

nie jestem ekspertem w programowaniu GUI, ale czy spróbował wykorzystać NetBeans as a platform dla swojej aplikacji?

+0

Wydaje się, że jest dla większych aplikacji. Może to przynieść efekt przeciwny do zamierzonego. Zobacz to "intro": http://netbeans.dzone.com/videos/free-netbeans-platform-crash – OscarRyz

5

Polecam przy użyciu Clojure Pozwala to na szybkie pisanie graficznych interfejsów Java bez płyty głównej.

3

Powinieneś zdecydowanie używać IDE z budowniczym GUI.

IntelliJ IDEA i NetBeans mają bardzo dobre budowniczych GUI, pozwalają one automatycznie powiązać obiekty i zmniejszyłaby się ogromnie ilości wysiłku potrzebnego do tworzenia GUI w przeciwieństwie robi to całkowicie ręcznie.

+0

Jako fan twórców UI uważam, że powinienem dodać - jeśli używasz jednego, nie wyrzucaj dobrych standardów okna. Gdy dodajesz widżet, zawsze nadaj mu odpowiednią nazwę i unikaj śmieci typu "kliknij, aby automatycznie dodać słuchacza". –

7

podzial:

Dla układów, mam opuszczone układ Managers JDK na rzecz narzędzia JGoodies Forms. Uważam, że jest bardziej efektywny. Czyta się na wyższym poziomie i znacznie redukuje ilość kodu związanego z układem.

+0

Uzgodnione. Używam tego również. Zdecydowanie pomaga. –

+0

DesignGridLayout może również bardzo pomóc w aspektach układu, jeśli masz tylko formularze w interfejsie użytkownika. – jfpoilpret

+0

+1 dla JGoodies Forms –

3

Zgadzam się z innymi, że przywiązanie do NetBeans wydaje się niebezpieczne - szczególnie podczas pracy z innymi programistami. Wykorzystałem (komercyjną) wtyczkę Swing Designer (przez "instantiations") dla Eclipse z całkiem dużym sukcesem - najbardziej podoba mi się to, że podróżuje w obie strony, generując kod, który możesz dowolnie zmieniać ręcznie. Nie doskonały, ale dobry czas.

Ale największą różnicą w moim programowaniu Swing było odkrycie lepszych menedżerów układu. Poszedłem z FormLayout (dobrze), do TableLayout (lepiej), ale teraz nie używam niczego oprócz MiGLayout (niewiarygodne).

10

Jak korzystać z MiGLayout?

Jest niezwykle prosty w opanowaniu i obsłudze. Gorąco polecam to tobie. W moim ostatnim projekcie pomógł mi skrócić czas implementacji GUI.

+0

Sprawdzę to. dzięki. –

+0

MigLayout uczynił rozwój bardzo prostym i łatwym dla mnie. – binarycreations

2

Możesz wypróbować ZK (najlepsze środowisko Java open source do tworzenia korporacyjnych aplikacji internetowych i mobilnych). http://www.zkoss.org/

Powiązane problemy