I am confused and don't know which to select: SWT/JFace or JavaFX. Which one is better? I know that SWT is native, but is JavaFX native or not? Is it important to use native UI, or is JavaFX the best choice?
That choice really depends on so many other things than the UI toolkits themselves. After all, you can implement almost the same look-n-feel with all the established UI toolkits - the APIs might be very, very different - but the results are not...
It is the environments that surrounds the toolkits that are important.
First and foremost, the main difference between SWT/JFace on one side and Swing or JavaFX on the other side, is the presence of the Eclipse application framework with the workbench and the associated services. And of cause OSGi... For me, that has made a big difference. Swing and JavaFX have something similar in the Java framework, but not nearly as developed.. in my view.