Frameworki czy platformy (nie rozumiem różnicy w sumie :P) oparte o Swinga to np NetBeans Platform.
W JavieFX można zrobić interfejs w całości w FXML + CSS (wersja JavaFXowa), aczkolwiek nie trzeba. Można opisać interfejs w Javie czy dowolnym innym języku kompilowanym do bajtkodu, np Scali (http://code.google.com/p/scalafx/ - milion razy bardziej czytelna składnia niż XML). Powstał też język specjalizowany do opisu interfejsów w JavieFX: http://code.google.com/p/visage/ - dzięki specyficznym optymalizacjom (mechanika wiązań itp) wynikowy kod potrafi być momentami dużo bardziej efektywny (np 100x) niż kod Javowy czy Scalowy.
Ogólnie mam obrzydzenie do XMLa, kod Scalowy jest 100x bardziej czytelny. Zamiast tworzyć dziesiątki języków programowania opartych o XML (tak, dowolny język który można sparsować do postaci drzewa składniowego można zapisać jako XML) można przecież użyć jednego, czytelnego i z dobrym wsparciem IDE do refaktoryzacji.
Ponadto animację robi się bardzo prosto (nie trzeba już wymyślać jakiś wątków by zrobić animację mouseover buttona.
W JavieFX można animować dowolne property, a więc nie tylko pozycję, ale także kolor, zaokrąglenie rogów, przezroczystość, kształt, itp itd W WPF pewnie też.
Nadal nie odpowiedziałeś na pytanie:
Niby w Windows Forms czy czymkolwiek innym nie da się zastosować MVC? Czy Windows Forms coś wymusza albo zabrania?
OK dziękuje, argument z duża ilością bibliotek zdaje się być dobry, aby brać Swing pod uwagę.
Zależy jakich bibliotek. Spora ilość bibliotek powstała, by omijać ułomności i toporność Swinga w tworzeniu ładnie wyglądających interfejsów, wybranie JavyFX w takim przypadku jest lepszym wyborem. Natomiast jeśli chcesz zrobić skomplikowaną aplikację, ale bez wizualnych bajerów i chcesz użyć sprawdzonej platformy do tworzenia takich aplikacji, to polecam NetBeans Platform. Powstało w tym sporo aplikacji: http://netbeans.org/features/platform/showcase.html