I write a JavaFX application and I'd like to skin it with css.
I've successfully added a style sheet to my application like this:
//Java code
FXMLLoader loader = new FXMLLoader(MainApp.class.getResource("/path/to/fxml"));
Scene scene = new Scene(loader.load());
scene.getStylesheets().add(getClass().getResource("/path/to/css").toExternalForm());
I need to change text color, but
CSS file:
.myText {
-fx-text-fill: #ffffff;
}
However if I run my app, this method does change nothing. How can I solve this problem?
CodePudding user response:
for example here :
<Button fx:id="stop" layoutX="100.0"
layoutY="14.0" mnemonicParsing="false"
onAction="#onActionStopBtn"
style=" -fx-background-color:
#000000,
linear-gradient(#7ebcea, #2f4b8f),
linear-gradient(#426ab7, #263e75),
linear-gradient(#395cab, #223768);
-fx-background-insets: 0,1,2,3;
-fx-background-radius: 3,2,2,2;
-fx-padding: 12 30 12 30;
-fx-text-fill: white;
-fx-font-size: 12px;"
text="Stop" />
add some style
to FXML
Button
see this for more detail
CodePudding user response:
Finally I figured out what caused the problem. I had to add stylesheet to FXML in SceneBuilder.
After that, everything worked correctly.
By the way, I don't know why I had to add stylesheet in SB, despite the fact that I added it in my code earlier. Maybe is it a bug? Or am I just silly?