Завершив основную разработку Swing на Java, я бы сказал, что если Windows - это то, что вам нужно, я бы очень серьезно подумал о том, какое преимущество Java дает вам .NET, чтобы сделать его достойным. Да, в конечном итоге вы можете сделать это. Есть отличное программное обеспечение, которое показывает, что это можно сделать. Это нелегко. На всех.
Но если вы хотите заняться разработкой графического интерфейса Windows, в конце концов Java просто встанет у вас на пути. Хотите взаимодействовать со службой Windows (например, Desktop Search, просто для примера)? Очень сложно сделать.
С другой стороны, если вам нужно, чтобы ваше программное обеспечение было независимым от платформы, это совершенно другая игра.
JavaFX очень многообещающий, но он очень новый. В любом случае, многие вещи, которые вы ожидаете увидеть, просто еще не созданы для скучных бизнес-приложений. Если вы пишете игру, это немного по-другому.