我在 javafx 中创建了一个登录页面。问题是我想更改文本字段中提示文本的字体。我尝试将参数作为类型标签和文本传递,但它不会接受除字符串之外的任何内容。我将如何做到这一点(不使用 css、hacks 等,因为我仍然是一个菜鸟)?我想改变所有的颜色、尺寸和风格。
我该怎么做?
目前,通过 Java API 更改样式是不可能的,但它将在 JavaFX 框架的未来版本中提供。目前您可以将样式设置为字符串,想想嵌入的 CSS:
TextField textField = new TextField("Sample");
textField.setStyle(""
+ "-fx-font-size: 30px;"
+ "-fx-font-style: italic;"
+ "-fx-font-weight: bold;"
+ "-fx-font-family: fantasy;"
+ "-fx-text-fill: blue;"
+ "-fx-background-color: aqua");
属性的含义和它可以采用的值在“JavaFX CSS 参考”指南中解释了它们的限制。参考它并花一些时间来掌握 JavaFX 中的基本样式。
您可以使用 Font.font 静态方法来更改文本的字体。
Text text = new Text(50, 50, "Roboto");
text.setFill(Color.RED);
text.setFont(Font.font("Serif", 20)); // this will change font of your text to size 20 and family Serif