【问题标题】:JavaFX TextArea & TextField display different colorsJavaFX TextArea & TextField 显示不同的颜色
【发布时间】: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 - 但似乎边框(我仍然想要)也取决于它。

标签: java javafx textarea textfield styling


【解决方案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。你知道的越多。

【讨论】:

    猜你喜欢
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2016-02-24
    • 1970-01-01
    • 2019-09-13
    相关资源
    最近更新 更多