JavaFX однозначно, но берите javafx 8, в ней была продела огромная работа по улучшению и начиная с неё действительно можно создавать хороший интерфейс (controlsFX в помощь).
Делал на ней довольно навороченный компонент для работы с картами + всякие свистелки и перделки для генеральского эффекта. Опыт положительный, на swing такое не реально было бы сделать. По сравнению со swing в javafx есть разделение дизайна и кода.
Минус пока только один малая распространённость, но примеры появляются, вот например
https://github.com/Mpmart08/MusicPlayer довольно красивое приложение.