Maison > Java > javaDidacticiel > Pourquoi est-ce que je reçois une IllegalAccessError lors de la création d'une étiquette dans JavaFX 11 ?

Pourquoi est-ce que je reçois une IllegalAccessError lors de la création d'une étiquette dans JavaFX 11 ?

Linda Hamilton
Libérer: 2024-11-02 22:12:02
original
1053 Les gens l'ont consulté

Why am I getting an IllegalAccessError when creating a Label in JavaFX 11?

JavaFX 11 : IllegalAccessError lors de la création de Label

JavaFX 11 a introduit des changements importants dans le framework, le séparant du JDK. Ce changement a conduit à un problème courant où les utilisateurs rencontrent une IllegalAccessError lors de la création d'une étiquette ou d'un autre contrôle.

Cause du problème

L'erreur est causée par un conflit entre les modules JavaFX et le chemin du module du projet. JavaFX 11 utilise un système modulaire, dans lequel les bibliothèques sont regroupées sous forme de modules pouvant être ajoutés à votre projet selon vos besoins. Cependant, par défaut, IntelliJ IDEA ne configure pas correctement le chemin du module pour JavaFX.

Solution

Pour résoudre ce problème, vous devez ajouter manuellement les modules JavaFX à le chemin du module de votre projet et spécifiez les modules que vous souhaitez utiliser.

  1. Ajoutez le SDK JavaFX en tant que bibliothèque :

    • Dans IntelliJ IDEA , faites un clic droit sur votre projet dans l'Explorateur de projets et sélectionnez « Ajouter un support de framework ».
    • Sélectionnez « JavaFX » dans la liste et choisissez la version appropriée (11.0.2 dans ce cas).
  2. Configurer les options de la VM :

    • Allez dans Exécuter > Modifier les configurations.
    • Dans le champ Options de la VM, ajoutez ce qui suit :

  3. Spécifiez la dépendance du module :

    • Dans le fichier pom.xml, ajoutez la dépendance suivante :

      • <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>11</version>
        Copier après la connexion

Notes supplémentaires

  • Remplacez "/path/to/javafx-sdk/lib" par le chemin réel vers le répertoire de la bibliothèque du SDK JavaFX.
  • Si vous devez utiliser des modules JavaFX supplémentaires, spécifiez-les dans l'argument --add-modules (par exemple, --add-modules javafx.fxml).
  • Vous pouvez confirmer que les bons modules sont utilisés en ajoutant l'indicateur --list-modules aux options de la VM.

En suivant ces étapes, vous devriez être en mesure de résoudre l'erreur IllegalAccessError. lors de la création d'une étiquette ou d'un autre contrôle dans JavaFX 11.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal