Ответ 1
4 года назад У меня был такой же вопрос, и я пришел к выводу, что лучше всего использовать Swing, поскольку в те дни все еще было написано много сторонних библиотек для Swing. Кроме того, 1.0 выпусков от Sun обычно были немного грубыми по краям (я сжег себя на JSF 1.0 и JPA 1.0: -).
Сегодня многие библиотеки имеют аналоги JavaFX или доступны в виде библиотеки JavaFX. Тем не менее, есть также много библиотек, которые до сих пор являются эксклюзивными. Также я немного поработал с JavaFX 2.0, и он кажется действительно полным. Я не натолкнулся на шоустов.
Вам нужно проверить, сколько внешних библиотек пользовательского интерфейса вы собираетесь использовать помимо Swing/JavaFX (и какой). Если ответа не много или много, есть альтернатива Java FX (или просто для того, чтобы сделать это самостоятельно), я бы определенно пошел на JavaFX. Также вы можете использовать компоненты Swing в JavaFX.
Как уже говорилось, JavaFX собирается осудить Swing в будущем, и Oracle кажется совершенным на JavaFX (он также будет раскрыт). Поэтому я настоятельно рекомендую JavaFX.
Обновление состояния 13 апреля 2014:
- JavaFX уже давно работает с открытым исходным кодом: https://wiki.openjdk.java.net/display/OpenJFX/Main
- Сообщество привержено JavaFX; Только библиотеки JavaFX, не имеющие свинг-копий, начинают появляться.
- Oracle доказал свою приверженность JavaFX.
Если вы не были уверены 2 года назад: JavaFX теперь определенно выглядит как способ. Хотя Swing, вероятно, будет долгое время находиться в режиме обслуживания. Это потребует больших усилий, чтобы полностью переносить большие приложения (например, IntellIJ или Netbeans) в JavaFX. И для этих больших приложений такой крупномасштабный порт, вероятно, сейчас не стоит.