Java FX project

Fermé
scaufiled Messages postés 2 Date d'inscription mercredi 19 mars 2014 Statut Membre Dernière intervention 4 mars 2022 - 3 mars 2022 à 18:44
scaufiled Messages postés 2 Date d'inscription mercredi 19 mars 2014 Statut Membre Dernière intervention 4 mars 2022 - 4 mars 2022 à 11:55
Bonjour,

je viens de lire le cours de apprenez a apprendre le language java et plus precisament javafx j'ai suis toutes les instructions

du site openclassroomhttps://openclassrooms.com/fr/courses/26832-apprenez-a-programmer-en-java/5013971-installez-des-outils

package fr.testfx.personnes;

import java.io.IOException;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class MainClass extends Application {

//Nous créons des variable de classes afin de pouvoir y accéder partout
//Ceci afin de pouvoir y positionner les éléments que nous avons fait
//Il y a un BorderPane car le conteneur principal de notre IHM
//est un BorderPane, nous reparlerons de l'objet Stage
private Stage stagePrincipal;
private BorderPane conteneurPrincipal;

@Override
public void start(Stage primaryStage) {
stagePrincipal = primaryStage;
//Ca ne vous rappelle pas une JFrame ?
stagePrincipal.setTitle("Application de gestion de personnes");

//Nous allons utiliser nos fichier FXML dans ces deux méthodes
initialisationConteneurPrincipal();
initialisationContenu();
}

private void initialisationConteneurPrincipal(){
//On créé un chargeur de FXML
FXMLLoader loader = new FXMLLoader();
//On lui spécifie le chemin relatif à notre classe
//du fichier FXML a charger : dans le sous-dossier view
loader.setLocation(MainClass.class.getResource("view/ConteneurPrincipal.fxml"));
try {
//Le chargement nous donne notre conteneur
conteneurPrincipal = (BorderPane) loader.load();
//On définit une scène principale avec notre conteneur
Scene scene = new Scene(conteneurPrincipal);
//Que nous affectons à notre Stage
stagePrincipal.setScene(scene);
//Pour l'afficher
stagePrincipal.show();
} catch (IOException e) {
e.printStackTrace();
}
}

private void initialisationContenu(){
FXMLLoader loader = new FXMLLoader();
loader.setLocation(MainClass.class.getResource("view/PersonView.fxml"));
try {
//Nous récupérons notre conteneur qui contiendra les données
//Pour rappel, c'est un AnchorPane...
AnchorPane conteneurPersonne = (AnchorPane) loader.load();
//Qui nous ajoutons à notre conteneur principal
//Au centre, puisque'il s'agit d'un BorderPane
conteneurPrincipal.setCenter(conteneurPersonne);
} catch (IOException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
launch(args);
}


mais au moment du compilation j'ai obtenu ce message Error: Could not find or load main class javafx.controls,

Caused by: java.lang.ClassNotFoundException: javafx.controls,

et voici la hierarechie des fichies et merci d'avance


Configuration: Windows / Chrome 98.0.4758.102
A voir également:

2 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
4 mars 2022 à 08:30
Bonjour,

Quelle version de Java as tu installé ? Avec quelle version de JavaFX ?

Est-ce que tu as une configuration de modules dans ton projet ? As tu pensé à ajouter le module javafx.controls ?

Au cas où le problème vienne de la configuration Eclipse, essaye déjà en ligne de commandes.

Voir la documentation :
https://openjfx.io/openjfx-docs/#install-javafx
set PATH_TO_FX="path\to\javafx-sdk-17.0.1\lib"
javac --module-path %PATH_TO_FX% --add-modules javafx.controls HelloFX.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls HelloFX
0
scaufiled Messages postés 2 Date d'inscription mercredi 19 mars 2014 Statut Membre Dernière intervention 4 mars 2022
4 mars 2022 à 11:55
oui j'ai deja essaye et j'ai deja ajouter les laibraries et lke module path la varsion que j'utilise c'est JDK17,2
0