JavaFX 默认元素

JavaFX default element

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

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

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

  • CSS 文件:

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

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

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