Summary
Swing is a mature GUI framework that is maintained as part of the Java distribution. Having been around for so long, there has been much written on how to use it. Choosing Swing for your GUI project is a good choice.
JavaFX is the new kid on the block, so to speak. The two most significant differences are binding and CSS style sheets. Although not covered here, JavaFX also has much better graphics support. In JavaFX graphics, primitives such as a line or a rectangle are on par with controls. JavaFX has an Animation
class that simplifies creating moving graphics. There is a also chart library to create line charts, pie charts, and so on.
Users today expect a GUI in the software they use. Swing projects do not need to be rewritten using JavaFX, and new projects using Swing continue to be written. So, which should you use? In my opinion, new projects should use JavaFX. Swing is, for the most part, in maintenance mode to ensure that it works, taking advantage of changes in...