0

我正在使用属性字符串来加粗标题名称,并且我想Text在 javafx 中的对象中打印出来,但我不知道如何。我在网上查看了很多地方,包括 java 文档,但似乎没有任何内容...这就是我想要做的:

AttributedString boldName = new AttributedString("Name: ");
boldName.addAttribute(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);

String name = innerNode.name;

Text info = new Text(**boldName.something()?** + name);

结果应该是这样的:Name: name,我觉得很简单,但是如何?

4

1 回答 1

1

您不能在 JavaFX 中使用 AttributedString。而是使用,

在 JavaFX 2.2 及更早版本上:

Text name = new Text("Name: ");
name.setFill(Color.BLUE);
name.setFont(Font.font("Helvetica", FontWeight.BOLD, 12));
Text info = new Text(innerNode.name);
HBox hbox = new HBox(1);
hbox.getChildren().addAll(name, info);

在 JavaFX 8 上:

Text name = new Text("Name: ");
name.setFill(Color.BLUE);
name.setFont(Font.font("Helvetica", FontWeight.BOLD, 12));
Text info = new Text(innerNode.name);
TextFlow textFlow = new TextFlow(name, info);

参考:在 JavaFX javafx.scene.text.TextFlow
中使用文本和文本效果

于 2013-10-30T19:38:45.893 回答