javafx样式调整不起作用的原因
在JavaFX项目中多出现布局控件嵌套使用的情况,如:
BorderPane(styclass="a")
--VBox(styclass="b")
--label
--HBox(styclass="c")
像这样一层套一层使用
而在这样的每一层使用布局样式时往往会出现设置样式不起作用的情况出现。
原因在于样式a, b, c出现了样式重复的情况,如下
.a {
-fx-font-size: 16px;
}
.a .Vbox .label {
-fx-font-size: 14px;
}
.b .label {
-fx-font-size: 18px;
}
如上,.a .Vbox .label和.b .label就是重复的,他们设置的样式都是对VBox下的label起的作用,这样产生的情况就是无论你怎么修改.b .label字体大小样式,它依然还是和.a .Vbox .label一样是14px
同时如果想要修改,而不再.CSS文件中操作更改,只需在label中修改,如:
BorderPane(styclass="a")
--VBox(styclass="b")
--label(style="-fx-font-size: 18px;")
--HBox(styclass="c")