【问题标题】:How do I set the colour, font and size of a prompt-text string?如何设置提示文本字符串的颜色、字体和大小?
【发布时间】:2021-01-28 09:29:27
【问题描述】:

我正在尝试使用 JavaFX 更改由 TextField::setPromptText 创建的字符串的属性。

这段代码:

TextField shapeField = new TextField();         
shapeField.setMaxWidth(100);   
shapeField.setPromptText("Circle, Triangle, Hexagon");
             
TextField fillField = new TextField();         
fillField.setMaxWidth(100);
fillField.setPromptText("Red, Green, Grey");

目前将提示文本设置为:

我希望能够使字体更小并更改颜色。我该怎么做?

【问题讨论】:

  • .. 默认情况下不支持使用不同的字体:TextInputControlSkin 将提示(视觉代表)的字体绑定到可换肤的字体。所以你需要一个允许单独修改的自定义皮肤
  • @Abra 可能不够清楚:我的意思是用于 promptText 的字体与用于文本的字体不同

标签: java javafx prompt


【解决方案1】:

对于您需要的颜色: -fx-prompt-text-fill:红色; 并且您可以更改字体大小,但您需要添加一个事件来检查文本是否为空,然后使用提示文本大小,而不是文本的实际大小(已编辑): -fx-字体大小

例如:

tf.setStyle("-fx-prompt-text-fill: red;\n" + "-fx-font-size: 26pt;");

【讨论】:

  • 这会改变文本的字体大小(而不是问题中要求的提示文本的字体大小)
  • 好的。但是您可以在 textField !isEmpty() 时将其更改回来,因为仅当 textField 为空时才会显示提示文本。
  • 承认是可能的(虽然可能对布局有明显的副作用,但那是另一回事了)- 请用所需内容的大纲编辑您的答案(最好是 minimal reproducible example
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-20
  • 1970-01-01
  • 1970-01-01
  • 2016-11-24
  • 2016-03-09
  • 2020-11-01
  • 1970-01-01
相关资源
最近更新 更多