JavaFX更改控件选中颜色
JavaFX控件当选中的时候,有一个默认的颜色,比如下图TextField和Button鼠标选中之后是一种浅绿色,不选中的边框是灰色。
最近在开发客户端的过程中,由于系统的整体风格是蓝色的,那么这个颜色是和整体风格不协调的,就需要更改这个颜色。最初的想法给每一个控件设置一个Hover颜色,控件是比较多的,这样设置非常的不方便。后来研究官方文档,发现了一种非常简单的方法。
首先介绍下caspian.css文件,这个文件定义了JavaFX的默认样式,文件里面的-fx-accent和-fx-focus-color属性定义了控件的选中颜色,那么就可以自己定义一个css'文件,重写这两个属性就可以了。(caspian.css文件的路径为:fxrt.jar!/com/sun/javafx/scene/control/skin/caspian/caspian.css )
解决办法如下:
1、定义default.css文件
PS:caspian.css文件定义了JavaFX的默认属性,如果要改变其他的属性,直接复写里面的css样式就可以了。
2、在客户端启动的时候,Scene加载这个default.css文件就可以了。
选中的颜色改变了