JavaEE (now known as JakartaEE) is pretty oldschool and IMHO a dead horse: since Java 9, all the modules have changed package name, breaking massively the old code and those new modules are partly _unnamed ones_, so that means, you cannot use tools such as jlink or jpackage to obtain an optimized JVM image.
JavaFX is far better than Swing for Desktop applications, but if you really want to develop a Desktop application, consider C++ and Qt Framework, especially for performance. Also in this case, now JavaFX is called OpenJFX and comes as modular approach.