转:JavaFX——CSS选择器

转自:https://blog.csdn.net/yye894817571/article/details/79416036

前言

   在CSS中,选择器是一种模式,用于选择需要添加样式的元素,在JavaFX CSS中有四种选择器,下面由小编来给大家一一讲解。

一、类型选择器(TypeSelector)

   大部分JavaFX控件类都对应一个CSS Type,我们可以使用类型选择器来控制类型控件的外观。对应的命名为:将JavaFX的类名给改成首字母小写,如果有多个单词拼接的类名,将每个单词原来大写的首字母小写然后用连字符将多个单词连接。如:

JavaFX Class CSS Type class
Button button
Label     label
CheckBox     check-box
TextField    text-field
...     ...

  类型选择器的用法如下:

 
  1. .label{

  2. -fx-text-fill:red

  3. }

   这样我们就将应用了这个CSS文件的FXML文件里的所有label的文字样式都设置成了红色。

二、类选择器(Class selector)

   在Javafx中有些控件是没有自己的类型选择器的,这个时候要定义要是可以实用类选择器,给相应的控件设置样式。类选择器可以应用到多个控件上,只要在相应的控件里加上StyleClass即可。

   类选择器用法如下:

 
  1. .background-color{

  2. -fx-background-color:black;

  3. }

  4.  

这样就定义了一个background-color的类型选择器,对于Node的任意子类都有一个getStyleClass 的方法,可以通过getStyleClass().add("background-color");,也可以在FXML文件上可以通过StyleClass标签添加background-color这个选择器的样式。类选择器会覆盖类型选择的样式。

三、ID选择器

ID选择器由#开始进行定义,一般情况下一个ID选择器对一个唯一一个控件。

ID选择器的用法如下:

 
  1. #ok-button{

  2. -fx-font-color:rgb(255,0,0,0);

  3. -fx-font-size:25px;

  4. }

   这个时候ID为okbutton的Button,通过这个ID选择器改变样式。

四、伪类选择器(CSS Pseudo-class)

   伪类的语法为:selector : pseudo-class {property: value} 

   比如我们设置当鼠标移动到Button上是背景颜色变成灰色:

 
  1. .button:hover{

  2. -fx-background-color:gray;

  3. }

   JavaFx 中的伪类选择器大概有以下几种:

  • disabled
  • focused
  • selected
  • hover
  • empty
  • pressed
  • show-mnemonic

总结

JavaFX CSS文档不是很全,摸索的地方很多,还是得在项目中多用多积累经验,这样才能熟能生巧。

猜你喜欢

转载自blog.csdn.net/zp357252539/article/details/82753788
今日推荐