Ich sags mal so: wenn du in Java mit der GUI-Programmierung anfangen willst, ist JavaFX OK. Swing ist auch gut, aber veraltet und wird nicht mehr weiter entwickelt. Heute werden viele Programme als Webanwendung entwickelt, das ist oft eine Alternative. Aber nicht, wenn du Programme entwickeln willst, welche auf 3D basieren.
Oder so: kläre deine Anforderungen und wähle dann die Programmiersprache und die Frameworks aus.