You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改JFXPasswordField中密码掩码星号的颜色?

解决JFXPasswordField星号颜色为白色的问题

这个坑我之前踩过!JFXPasswordField的密码掩码星号,没办法像普通TextField那样直接通过设置「Text Fill」属性让它变白——因为控件的默认样式会覆盖这个设置,得用CSS来明确指定颜色才行。下面是两种在Scene Builder里就能操作的方法:

方法一:直接设置内联样式(快速见效)

  1. 选中你的JFXPasswordField控件
  2. 切换到右侧的Properties面板,找到下方的「Style」输入框
  3. 在输入框里粘贴以下代码:
-fx-text-fill: white;
-fx-prompt-text-fill: white;

如果还是没生效,就加个!important强制覆盖默认样式:

-fx-text-fill: white !important;
-fx-prompt-text-fill: white !important;

方法二:用外部CSS文件(更适合多控件统一管理)

如果你的界面有多个需要统一样式的控件,推荐用这种方法:

  1. 在你的项目里新建一个CSS文件(比如命名为login_styles.css)
  2. 在文件里写入以下样式代码:
.jfx-password-field {
    -fx-background-color: gray; /* 保持你的灰色背景 */
    -fx-text-fill: white; /* 星号颜色设为白色 */
    -fx-prompt-text-fill: white; /* 提示文本也设为白色 */
}
  1. 回到Scene Builder,选中JFXPasswordField控件,切换到右侧Scene面板(或者Properties面板里的「Stylesheets」选项),点击「Add」按钮,选择你刚创建的CSS文件应用上去就行。

原理其实很简单:JFXPasswordField的默认样式表(JFoenix自带的)里给掩码字符设置了默认黑色,我们用CSS明确指定-fx-text-fill为白色,就能覆盖掉默认样式啦。

内容的提问来源于stack exchange,提问作者Dominic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:06:18