首页 > 解决方案 > JavaFX 默认元素

问题描述

所以我刚开始学习 JavaFX,我用 Scene Builder 制作了几个 TextFields。我为每个 TextField 分配了一些提示文本,但是当我启动我的应用程序时,第一个 TextField 已经被选中,所以我看不到提示文本。我能做点什么吗?

标签: javajavafxtextfieldscenebuilder

解决方案


一种解决方案是使提示文本在TextField具有焦点时保持可见。

提示文本消失的原因是modena.css(JavaFX 8+ 中使用的默认样式表)使提示文本的填充在TextField具有焦点时透明。您可以通过使用自己的 CSS 来设置提示文本的样式来更改此设置。有几种方法可以做到这一点:

  • CSS 文件:

    .text-field:focused {
        -fx-prompt-text-fill: inherit;
    }
    
  • 代码:

    textField.setStyle("-fx-prompt-text-fill: inherit;");
    

    请注意,您可以style从 Scene Builder 设置。


推荐阅读