JavaFX中如何修改TextField字体且不影响右键菜单样式?
解决JavaFX TextField自定义字体不影响右键菜单的CSS方案
在JavaFX中给TextField添加自定义字体样式时,默认右键菜单会继承这些字体属性,导致菜单样式异常。要仅修改用户输入文本的字体,同时保留右键菜单的默认样式,可通过精准的CSS选择器实现。
修改后的CSS代码
.custom-text-field { -fx-alignment: center; /* 保留TextField的对齐属性 */ } .custom-text-field > .text { -fx-font-size: 2.5em; -fx-font-weight: bold; -fx-font-family: monospaced; }
原理说明
.custom-text-field > .text是精准的子选择器,仅匹配TextField内部负责显示用户输入文本的直接子节点,字体样式只会作用在输入内容上。- 右键菜单属于TextField的独立弹出组件,不会继承该子节点的样式,因此会保持系统默认的字体和显示效果。
内容的提问来源于stack exchange,提问作者user1438038
相关产品推荐
相关产品推荐

