【问题标题】:How to change the glow outline color of a focused text field in JavaFX?如何更改 JavaFX 中聚焦文本字段的发光轮廓颜色?
【发布时间】:2017-05-08 15:07:46
【问题描述】:

经过大量浏览,我还没有找到解决方案。

我正在尝试围绕TextFiedl 更改this really light blue-ish border color(当它被选中时)。


我最接近的是这个:

.text-field {
    -fx-faint-focus-color: red;
}

但我得到了这个结果:

一种非常强烈的红色调(与软边框完全相反),看起来也比原来的要厚。


那么,我怎样才能改变只是颜色,这样我就可以得到一种非常浅的红色,而不是非常浅的蓝色,同时保持厚度/整体感觉原来的光芒?

【问题讨论】:

    标签: java javafx textfield


    【解决方案1】:

    看看下面的代码:

    .text-field{
        -fx-effect: dropshadow( three-pass-box, red , 10.0, 0.0,0.0,0.0);
        -fx-background-insets:3.0;
        -fx-background-radius: 5.0;
        -fx-prompt-text-fill:black;
        -fx-text-fill:black;
        -fx-font-size:12.0;
        -fx-font-weight:bold; 
    
    }
    
    
    .text-field:focused{
        -fx-background-color: firebrick;
        -fx-text-fill:white;
        -fx-prompt-text-fill:white;
        -fx-background-insets: -0.1, 2.0;
        -fx-font-size:14.0;
    }
    

    【讨论】:

    • 制作 ... -1 的人。至少让我知道出了什么问题。我们是来改进的。
    【解决方案2】:

    默认-fx-faint-focus-color 的不透明度为0x22 / 0xFF。您应该这样做,并将-fx-focus-color 设置为red

    .text-field {
        -fx-focus-color: red;
        -fx-faint-focus-color: #ff000022;
    }
    

    来自modena.css的默认值:

    -fx-focus-color: #039ED3;
    -fx-faint-focus-color: #039ED322;
    

    【讨论】:

    • 将这些放在.root 中就像是“任何专注”控制的魅力
    【解决方案3】:

    您是否尝试过降低 alpha :

    .text-field:focused{
        -fx-faint-focus-color: transparent;
        -fx-focus-color:rgba(255,0,0,0.2); /* here rgba (corrected) */
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-11
      • 2018-11-21
      • 2015-12-04
      • 2021-06-17
      相关资源
      最近更新 更多