当前位置:  开发笔记 > 编程语言 > 正文

JavaFx ComboBox自定义下拉菜单

如何解决《JavaFxComboBox自定义下拉菜单》经验,为你挑选了2个好方法。

我想自定义组合栏的下拉菜单.看下一张图片在此输入图像描述

我想更改蓝色悬停栏,悬停文本颜色,文本字体以及默认文本字体.

非常感谢你.

-更新-

我只做到了这一点

   comboBox.setStyle("-fx-background-image: url('" + ImageUtils.getPath() + "fieldTextBkg.png');"
            + "-fx-text-box-border: transparent;" 
            + "-fx-background-color: transparent, transparent, transparent, transparent;"
            + "-fx-text-alignment: center;");

这只是改变展开的菜单.无论我为了修改内部下拉列表而尝试什么,我都无法实现.例如,一个开始将蓝色条变为绿色.整个背景而不是白色是黑色,文本是字体Calibri.

谢谢.



1> James_D..:

您可以通过将以下内容放置在应用程序的外部CSS文件中来更改弹出窗口中单元格的样式:

.combo-box .combo-box-popup .list-view, .combo-box .combo-box-popup .list-cell {
    -fx-background-color: black ;
    -fx-text-fill: white ;
    -fx-font-family: "Calibri" ;
}
.combo-box .combo-box-popup .list-cell:hover {
    -fx-text-fill: yellow ;
    -fx-background-color: green ;
}

您可以将伪类:selected用于所选单元格。(即.combo-box .combo-box-popup .list-cell:selected { ... })。

您可以使用选择器设置组合框“按钮单元格”(即,不在弹出窗口中显示的单元格)的样式

.combo-box > .list-cell { /* ... */ }

有关更多选项,请参见CSS文档或默认样式表的源代码。



2> Bo Halim..:

这里有一些解释:

 /*Edit The control itself*/
 .combo-box{

-fx-background-color:purple; 

 }

/*Edit Normal Cell color */
 .combo-box .list-cell{

-fx-background-color:red;


}

/*Edit Cell Color Only when cursor hover cell */
.combo-box .list-cell:hover{

-fx-background-color:green;
}

/*Edit Cell Color Only when selected */
.combo-box .list-cell:selected{

-fx-background-color:blue; 

}

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有