如何修改JFXPasswordField中密码掩码星号的颜色?
解决JFXPasswordField星号颜色为白色的问题
这个坑我之前踩过!JFXPasswordField的密码掩码星号,没办法像普通TextField那样直接通过设置「Text Fill」属性让它变白——因为控件的默认样式会覆盖这个设置,得用CSS来明确指定颜色才行。下面是两种在Scene Builder里就能操作的方法:
方法一:直接设置内联样式(快速见效)
- 选中你的JFXPasswordField控件
- 切换到右侧的Properties面板,找到下方的「Style」输入框
- 在输入框里粘贴以下代码:
-fx-text-fill: white; -fx-prompt-text-fill: white;
如果还是没生效,就加个!important强制覆盖默认样式:
-fx-text-fill: white !important; -fx-prompt-text-fill: white !important;
方法二:用外部CSS文件(更适合多控件统一管理)
如果你的界面有多个需要统一样式的控件,推荐用这种方法:
- 在你的项目里新建一个CSS文件(比如命名为
login_styles.css) - 在文件里写入以下样式代码:
.jfx-password-field { -fx-background-color: gray; /* 保持你的灰色背景 */ -fx-text-fill: white; /* 星号颜色设为白色 */ -fx-prompt-text-fill: white; /* 提示文本也设为白色 */ }
- 回到Scene Builder,选中JFXPasswordField控件,切换到右侧Scene面板(或者Properties面板里的「Stylesheets」选项),点击「Add」按钮,选择你刚创建的CSS文件应用上去就行。
原理其实很简单:JFXPasswordField的默认样式表(JFoenix自带的)里给掩码字符设置了默认黑色,我们用CSS明确指定-fx-text-fill为白色,就能覆盖掉默认样式啦。
内容的提问来源于stack exchange,提问作者Dominic
相关产品推荐
相关产品推荐

