17

I have Java 8 and Ubuntu 18.04. I'm using NetBeans and when tried to make some program, it couldn't be done because JavaFX is missing.

I installed Java JDK with NetBeans from Oracle's site and thought everything is included but obviously I didn't check it well.

What should I do, what should I install? I'm not so good at this and don't know if problem is with Ubuntu or Java. :(

17

In the Ubuntu 16.04 and later default repositories JavaFX is packaged as a separate package named openjfx. To install it in Ubuntu 18.04, open the terminal and type:

sudo apt install openjdk-8-jdk openjfx

Check that JDK 8 is selected as the default Java version in Netbeans -> Tools -> Options -> Java -> Nashorn tab -> click the Manage Platforms button -> click the Add Platform button -> click the radio button marked Java Standard Edition -> click the Next button -> browse to /usr/lib/jvm/java-8-openjdk-amd64 and select it as the default Java version.

Optionally you can install openjdk-11-jdk instead of or alongside openjdk-8-jdk. openjfx works with both openjdk-8-jdk and openjdk-11-jdk in Netbeans in Ubuntu 18.04. I am using Netbeans 8.2 10.0 in Ubuntu 18.04.

  • Thanks, your commands work but still with my java.io library I get the error Exception in thread "main" java.lang.IllegalStateException: Toolkit not initialized ...I don't know why – maria Nov 14 '18 at 17:49
  • @Mara I'm sorry, I found the error you got was in my JavaFX code because I didn't copy all the code to the end in Pastebin the first time that I uploaded it. I left out the two curly braces at the end the first time I uploaded it. I uploaded the code again here. The name of my JavaFX project in Netbeans is HelloWorldFX. – karel Nov 15 '18 at 0:26
  • JavaFX works for me on 18.04 only after installing JDK 8 AND changing the project SDK to 8 (doesn't want to work on SDK 10) in IntelliJ. – Line Feb 6 at 9:04
  • It must be a JDK paths issue in IntelliJ because JDK 8 and 11 both work alongside each other in Netbeans in Ubuntu 18.04 with the same JavaFX package for both of them. – karel Feb 6 at 9:27
  • I checked my whole hard drive but I can't seem to find a javafx distribution after installing openjfx. it's not in /usr/lib/jvm/<jdk>/jre/lib/ext/ where I found it to be on other devices such as my laptop running manjaro. :/ – Niklas Vest Jun 18 at 9:42
0

I think the easiest way is to install sdkman. Once installed, check for all the available candidates:

$ sdk list java

which will show a wide variety of options. You may select one with the FX suffix. In my case I can see something like this:

 Azul ZuluFX   |     | 11.0.2       | zulufx  |            | 11.0.2-zulufx       
               |     | 8.0.202      | zulufx  |            | 8.0.202-zulufx      
 BellSoft      |     | 12.0.2       | librca  |            | 12.0.2-librca       
               |     | 11.0.4       | librca  |            | 11.0.4-librca       

So, you can install it using this command:

$ sdk install java 11.0.2-zulufx   

Or,

$ sdk install java 8.0.202-zulufx # if you want java 8

And you are good to go! I hope this helps! :)

0

This issue can be fixed by adding the openjfx path and modules as arguments when running the javafx application, I already posted the solution on this link.
Good luck
Lotfi

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.