With some minimal effort, it's possible to do a nice looking GUI with fonts that not look like vomit, etc.
If Sun and Oracle had spent more than 5 minutes on packaging applications - why not in jxe-files for executable jars, as a simple start to avoid torturing your users - and using nice fonts - and why not a discrete and non-whiny non-bundlig autoupdating jre - they could actually have won on the desktop, when it still was relevant.
Sun is the one to blame, as traditional UNIX company their Swing team just didn't had any clue about the desktop world, outside enterprise walls.
Oracle is actually doing much more than Sun ever did, they introduced a way to package applications with Java 8, originally part of the JavaFX project, and are adding support for AOT compilation (it was tabu at Sun) and application specific runtimes.
If they had defined and promoted using .jxe as the file name extension for executable jars, there had been so much less confusion for the end users.
(Just like they have done with ear, war, rar, etc)
Also, the security considerations for java web start applications where rather strange, with ugly icons warning that you were running a java application etc, and much higher requirements for certificates and signed executable compared to just about everything else that you run on a computer.
If they had re-imaged the framework to use a "installation" and providing automatic updates, just like normal applications, they could have lowered the bar a little.
Personally I think it was a good move to go back into native UIs, right about the time people were starting to adopt Angular.
Java has JavaFX now