Reputation: 1156
I installed the Java SE 8u25 JDK (64 Bit) from Oracle, which should include JavaFX.
I'm using Win7 64 Bit, Eclipse Helios and included the jre in the classpath as shown here:
I'm trying to replicate the code from this tutorial: http://docs.oracle.com/javase/8/javafx/get-started-tutorial/hello_world.htm
Eclipse shows me "The type javafx.scene.control.Control cannot be resolved. It is indirectly referenced from required .class files" when trying to use javafx.scene.control.Button.setText(String)
.
A similar problem occurs when trying to create a StackPane
object.
Here's the code so far:
package javaFX;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Button;
import javafx.stage.Stage;
public class HelloWorld extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Button btn = new Button();
btn.setText("Hello world!");
btn.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent arg0) {
System.out.println("Hello world!");
}
});
StackPane root = new StackPane();
}
}
Tl;dr: Some JavaFX classes seem to be missing in Java SE 8u25 or I made a mistake in including the jre in the build path.
Upvotes: 5
Views: 50826
Reputation: 439
Installing the latest JDK will help. Please see the two links: enter link description here enter link description here
Upvotes: 0
Reputation: 840
NOTE: I've seen that you are using Eclipse Helios. You could also download a latest version of Eclipse Luna. This will work also.
You could try e(fx)clipse which might be a useful IDE extension when developing FX apps with Eclipse. To do so follow these steps:
Help > Install New Software
and insert the URL http://download.eclipse.org/efxclipse/updates-released/1.1.0/site/
under "Work with:" and press enterFile > New > Other ...
and select JavaFX > JavaFX Project
jfxrt.jar
to the classpath by going to the project properties and selecting "Add external JAR ..."
C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext
./Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/jfxrt.jar
.Notice: e(fx)clipse provides much more support for developing JavaFX applications. Feel free to take a look.
Upvotes: 16
Reputation: 3099
EDIT :
You haven't import the class for StackPane :
import javafx.scene.layout.StackPane;
Previous answer :
Basically you haven't import your javafx library , you can Add External JARs
, and pointing out to jfxrt.jar
, and it will work just fine.
In my path , jfxrt.jar
is in :
C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext
There is a simple way,
Upvotes: 1