打印出一个AttributedString

时间:2013-10-30 18:50:20

标签: java javafx

我使用属性字符串来粗体标题名称,我想在javafx中的Text对象中打印出来,但我无法弄清楚如何。我在网上看了很多地方,包括java文档,但似乎没有什么可以解决这个......这就是我想要做的:

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

String name = innerNode.name;

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

结果应该是这样的:名称: 名称,我感觉很简单但是怎么样?

1 个答案:

答案 0 :(得分: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);

参考:
Using Text and Text Effects in JavaFX
javafx.scene.text.TextFlow