Très frustrant lorsque je suis des guides et des tutoriels de base. Je peux appliquer des styles CSS à différents éléments, mais pas à vbox ou hbox.
J'ai l'application simple suivante, utilisant FMXL et CSS pour créer une scène simple :
importer java.net.URL; importer javafx.application.Application ; importer javafx.fxml.FXMLLoader ; importer javafx.stage.Stage ; importer javafx.scene.Parent ; importer javafx.scene.Scene ; la classe publique BingRen étend l'application { @Passer outre public void start (Stage primaireStage) { Racine parent = null ; Chargeur FXMLLoader = new FXMLLoader(); URL xmlUrl = getClass().getResource("/BingRen.fxml"); chargeur.setLocation(xmlUrl); essayer { racine = chargeur.load(); Scène scène = new Scene(root,400,400); scene.getStylesheets().add(getClass().getResource("BingRen.css").toExternalForm()); PrimaryStage.setScene(scène); primaireStage.show(); } catch(Exception e) { e.printStackTrace(); } } public static void main (String[] arguments) { lancer(arguments); } }À l'aide de FXML, créez simplement un BordPane et 2 HBoxes, chacune contenant une étiquette.几乎和 HellopApp 一样简单:
≪/bas> 还有CSS来设置一些基本属性:
.hbox { -fx-background-color : #00ff00 ; -fx-border-color : #00ff00 ; -fx-border-width : 2px ; -fx-rembourrage : 10 ; -espacement fx : 8 ; } .étiquette { -fx-text-fill : #0000ff ; }标签正确变为蓝色,但未应用 hbox 样式
事实上,这些建议都不起作用。
我尝试过:
Pourquoi votre approche actuelle échoue
Voir laDocumentation CSS一个>.
PourHBox
PourTags
Par conséquent, il n'y a pas de classe de style comme ".hbox" pour HBox, à moins que vous n'en ajoutiez une, ce que vous n'avez pas encore fait.
Sélecteurs CSS et arrière-plans JavaFX
Lisez une partie du graphique de scène CSS et JavaFX intitulée":
Exemples d'application
Vous pouvez donc résoudre ce problème de trois manières :
Utilisez lesélecteur de typedans les fichiers CSS :
Appliquer desclasses de styledans les fichiers CSS :
et écrivez en FXML :
Ou écrivez dans le code :
AppliquerStyle IDdans le fichier CSS :
et écrivez en FXML :
Ou écrivez dans le code :
Différence de portée du sélecteur
La signification de l'application standard diffère pour chaque méthode :