JavaFX:样式组合框弹出列表文本颜色和所选项目颜色?

kry*_*huq 1 css combobox javafx

ComboBox在 css 中的样式有问题。我不知道如何更改所选项目 fx 的字体颜色(2 个人从黑色变为红色),以及如何设置鼠标指向当前选项时的颜色效果。

css代码:

.combo-box
 {
  -fx-background-image:url("people_button.jpg");
  -fx-text-fill: red;
  -fx-min-width: 128;
  -fx-min-height: 48;

 }
.combo-box-popup .list-view
 {
   -fx-background-color: -fx-box-border, -fx-control-inner-background;
   -fx-background-insets: 0, 1;
   -fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.6) , 8, 0.0 , 0 , 0 );
 }
.combo-box-popup .list-view .list-cell
 {
-fx-background-color: #ececec;
-fx-text-fill: #9a9a9a;
-fx-font-family: Oxygen Light;
 }
Run Code Online (Sandbox Code Playgroud)

和Java代码:

ComboBox<String> combo = new ComboBox();
combo.setVisibleRowCount(5);
combo.setItems(observableList);
combo.setValue("1 person");
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Ita*_*iha 5

只需将伪类添加hover到您的样式表中:

.combo-box-popup .list-view .list-cell:hover {
    -fx-text-fill: red;
}
Run Code Online (Sandbox Code Playgroud)

要为所选项目添加颜色,请使用伪类selected

.combo-box .cell:selected {
    -fx-text-fill: red;
}
Run Code Online (Sandbox Code Playgroud)