JavaFX TextArea & TextField 显示不同的颜色
Posted
技术标签:
【中文标题】JavaFX TextArea & TextField 显示不同的颜色【英文标题】:JavaFX TextArea & TextField display different colors 【发布时间】:2019-07-16 08:53:51 【问题描述】:在我的屏幕上,我想要一个 TextArea 和一个 TextField,我会根据内容更改其背景颜色。两者都不可编辑(以防万一)。
目前,我正在使用以下命令设置背景:
textArea.setStyle("-fx-control-inner-background: rgba(255,255,0,.5)");
textField.setStyle("-fx-control-inner-background: rgba(255,255,0,.5)");
虽然这设置了正确的颜色,但我的 TextArea 看起来仍然比我的 TextField 亮很多,它似乎有某种阴影/阴影。
为什么会出现这种情况?是否有可能实现两者相同的外观?
【问题讨论】:
我想说这是因为在边框/背景的图层中完成了一些较暗的阴影。TextField
中较小的尺寸可能会使它看起来更暗。不过,这只是我的猜测。
嗯。这似乎是正确的。阴影(我不想要的)取决于-fx-background-color
- 但似乎边框(我仍然想要)也取决于它。
【参考方案1】:
我的同事设法用以下文本字段的代码行解决了这个问题:
-fx-background-color: rgba(255,255,0,.5);
-fx-border-color: derive(-fx-text-box-border, -10%);
-fx-border-radius: 2;
事实证明,应该将-fx-background-color
用于TextFields,将-fx-control-inner-background
用于TextAreas。你知道的越多。
【讨论】:
以上是关于JavaFX TextArea & TextField 显示不同的颜色的主要内容,如果未能解决你的问题,请参考以下文章
JavaFX:在进入 TextArea 时将插入符号/光标放在 TextArea 的末尾