Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Eclipse Mars won't auto import JavaFX

So, for every freaking time I want to use JavaFX 8 component, I have to google the exact name of the package, and manually type

 import packageName;

I'll put in more detail.

Let's say I want to create a StackPane

 StackPane stackPane = new StackPane(new ImageView(this.getClass().getResource("/images/about_icon.png").toString()));
 stackPane.setAlignment(Pos.CENTER);

Several classes there. When I use ctrl + o (cmd + o in Mac), then it should import the required package.

But it doesn't.

In fact, I have to google the exact name of StackPane. So, I googled it, I found it that it's under javafx.scene.layout.StackPane

So, I do import javafx.scene.layout.StackPane;

StackPane is fixed.

Now Eclipse is complaining about ImageView and I'm repeating the above same steps for ImageView.

And so on.

How can this be improved?

I'm using Eclipse Mars. Jdk 8. Mac OS X El-Capitan.

like image 748
Fadils Avatar asked Nov 29 '22 10:11

Fadils


2 Answers

You need to install e(fx)clipse in order to have JavaFX development tooling support.

For this

  1. Open Help -> Install New Software
  2. Select the Software Site for Mars http://download.eclipse.org/releases/mars
  3. Disable Group items by category (unfortunately the e(fx)clipse team forgot to add a category)
  4. Filter for e(fx)
  5. Select e(fx)clipse - IDE
  6. Next
  7. Next
  8. Accept the license
  9. Finish

enter image description here After that you need to restart Eclipse and should have proper JavaFX support.

like image 124
Dirk Fauth Avatar answered Dec 09 '22 08:12

Dirk Fauth


On a clean installation of the latest version of Eclipse for Java Developers (Mars.1 release 4.5.1), I was able to reproduce this (more or less).

I fixed it by setting the access restrictions on the JRE system library.

From your Project properties, choose "Java Build Path", select the "Libraries" tab, and expand the JRE System Library:

enter image description here

The first entry in that list is "Access Rules". Select that and press "Edit", then press "Add":

For "Resolution", choose "Accessible", and for "Rule Pattern", enter "javafx/**".

enter image description here

Hit "OK" until all the dialogs are gone. Your CMD-SHIFT-O options should now be able to find javafx packages.

like image 26
James_D Avatar answered Dec 09 '22 09:12

James_D