Je viens de commencer à construire une application JavaFX dans Intellij en utilisant le dernier SDK Java7.
J'ai construit mon interface à l'aide de Oracle Scene Builder, tout fonctionne et affiche une amende sur l'aperçu, mais quand j'essaie de compiler mon programme I Obtenez l'erreur suivante P>
`Property "stylesheets" does not exist or is read-only`
4 Réponses :
J'ai la même erreur lorsque j'essayais de définir mes propres propriétés CSS dans mon programme. Si vous ne le faites pas, vous utilisez probablement une classe qui utilise le bibliothèque CSS introduit dans JavaFX 8. P>
Essayez de mettre à jour votre JDK à la dernière version publiée ici . P>
Si cela ne fonctionne toujours pas, alors quelque part dans votre application, un fichier CSS n'est pas lu correctement. Il y a probablement une classe avec des propriétés de haricot Javafx qui ont été mangées à tort. P>
Salut Loa, merci pour votre suggestion. J'ai mis à jour à JDK8 et le problème a été corrigé, mais j'ai besoin de livrer le projet sur JDK7, j'ai trouvé une solution au problème et je pensais que je le partageais avec vous si vous êtes intéressé. Dans votre méthode de démarrage () chargez simplement la feuille de style manuellement à l'aide de root.getStylesheets (). Ajouter (this.getclass (). GetResource ("Voir / MainView.css"). Toext Ernalform ()); Où root est le nom de votre FXMLLoader :)
Oh, merci de partager cela, je définirai votre question comme l'un de mes favoris. Content de vous avoir un peu aidé. J'espère que vous pourrez terminer votre projet. Bonne chance! :)
Il s'avère que je devais relier manuellement la feuille de style dans ma méthode de démarrage (), car JavaFX7 ne prend pas en charge la balise de feuilles de style.
Pour résoudre ce problème, j'ai appelé la commande suivante dans ma méthode de démarrage () p> < Pré> xxx pré>
où root code> est le nom de mon fxmlloader. p> p>
Je reçois cette erreur lors de l'ouverture du constructeur de scène. p>
installé JDK1.8, définissez-le comme défaut de mon système (IN / USR / LIB / JVM / JVM / Java) et modifié My $ Chemin, dont aucun ne semblait aider. P>
a ensuite mis à jour le constructeur de scène de 1,1 à 2.0, lié la version 1.1 binaire à la version 2.0 ( Voir cette question ) et enfin définir le nouveau chemin de constructeur de scène dans Netbeans -> Outils -> Options -> Java -> JavaFx, qui résolvait le problème. Mise à jour de la version JDK par défaut peut avoir ou non avoir eu quelque chose à voir avec cela. P>
Le projet lui-même utilisé JDK1.8 déjà et je n'avais aucune difficulté à le gérer; Je n'ai eu que des problèmes dans le constructeur de scène (obtenu cette erreur mentionnée dans le titre de la question). P>
Vous créez une FXML dans Scene Builder 2 et exécutée dans JDK 7. SB 2 "tente de" créer un code FXML compatible Java 8. Pour réparer le FXML:
StylesSheets = "@ MainView.css" Code> Attribut Li>
- Ajouter
Importer java.net. *?> code> dans les importations li>
-
Ajoutez le code ci-dessous à la fin du volet parent, après enfants> code> (dans mon cas, il était avant anchorpane> code>):
<stylesheets>
<URL value="@MainView.css" />
</stylesheets>