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