2

我看到了一个实现 TextPrompt 的网站。

http://tips4java.wordpress.com/2009/11/29/text-prompt/

在实现中,有一个 setShow(Show.ALWAYS) 方法来始终显示提示文本,无论 JTextField 是否具有焦点。

JTextField tf = new JTextField();
TextPrompt tp = new TextPrompt("Prompt", tf);
tp.setShow(Show.ALWAYS);

有没有办法在 JavaFX 中做到这一点?

4

1 回答 1

4

方法是覆盖focusedtextfield的伪类“”的默认css样式。为此,请使用此加载您自己的 css 文件

.text-field:focused {
    -fx-background-color: -fx-focus-color, -fx-text-box-border, -fx-control-inner-background;
    -fx-background-insets: -0.4, 1, 2;
    -fx-background-radius: 3.4, 2, 2;
    -fx-prompt-text-fill: transparent;  /* <----- Remove this line */
}

-fx-prompt-text-fill内容并从中删除属性。

CSS 加载示例https://stackoverflow.com/a/9739698

于 2013-09-12T11:57:02.677 回答