Dear Erel,
I have tried all methods online, be it swing, awt libraries and they all are useless for Javafx App. It may be attributed to a shortcoming of the the Jdk11+ that we have to live with. The only aspect I couldnt try and that may be a dead end to and that is to make amendments to the main.java to ensure we apply prior to javafx running, but that is only in your control and discretion.
What I did as a work around is to hide the App bundle dock and menu and rename the java to my Program name and use -Xdock:icon=iconname to apply my program icon to replace the java coffee icon. There is still the issue of the class name showing up in the sub menu items next to Hide & Quit. I will submit to Mac Apple and see if they will permit despite that discrepency in naming convention