Erreur sur javafx

Bonjour,

J'ai cette erreur avec le code ci-dessous :
Error: Could not find or load main class application.Main
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application


package application;
	
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Rectangle;
import javafx.scene.shape.Shape;


public class Main extends Application {
	@Override
	public void start(Stage primaryStage) {
		try {
			
			Group root = new Group();
			Scene scene = new Scene(root,800,800);
			
			Shape s = new Shape();
			
			Rectangle r = new Rectangle();
			r.setX(750);
			r.setY(100);
			r.setWidth(200);
			r.setHeight(100);
			r.setArcWidth(30);
			r.setArcHeight(20);
			
			root.getChildren().add(r);
			
			
			primaryStage.setScene(scene);
			primaryStage.setTitle("Hello world");
			primaryStage.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}



Merci de votre aide !

3 réponses

  1. Modérateur
    Bonjour,

    Avec quelle version de Java est-ce que tu codes ?
    Depuis Java 11, Java FX n'est plus embarqué dans le JDK il est géré à part comme c'était déjà le cas avant Java 8.
    Voir https://openjfx.io
    1. Je suis à la version 14. J'ai suvi ce tuto : https://openjfx.io/openjfx-docs/ pour installer JavaFX mais j'ai cette erreur :
      Error: Could not find or load main class Files
      Caused by: java.lang.ClassNotFoundException: Files
      1. Modérateur
        Il semble que cela soit lié au répertoire d'installation
        C:/Program Files
        à cause de l'espace.
        En général on mets des guillemets autour d'un chemin contenant des espaces. Dans ce cas particulier on pourrait utiliser
        C:/PROGRA~1
        qui est un alias. Sinon tu peux essayer avec une installation dans un répertoire sans espace.
    2. Oui exact j'ai mis sur le bureau, il ne faut pas d'espace dans les noms des répertoires où javafx.