在Swing中,这是很轻松的风格的JLabel使用HTML - 你只是用你想要的文字标签的HTML,它被适当地渲染。
在JavaFX这是不可用,但我们可以通过设置特定标签(或节点一般)的样式setStyle()
方法。
但是,使用这种方法不是很明显了如何设置标签的一部分是某种风格,例如相当于:
JLabel label = new JLabel("<html>Part of this <b>text is b</b>old and part isn't.</html>");
什么是实现类似上述的最简单的方法?
伪选择可能是一个变通但不幸的是他们大多还不支持- http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html#introlimitations 。 -作为对照格式文本支持,他们将JavaFX8提供https://bugs.openjdk.java.net/browse/JDK-8091709 。
您可以尝试使用到的TextFlow喜欢不同风格的文本节点合并
TextFlow textFlow = new TextFlow();
Text first=new Text("Part of this ");
first.setStyle("-fx-font-weight: regular");
Text second=new Text("text is b");
second.setStyle("-fx-font-weight: bold");
Text third=new Text("old and part isn't.");
third.setStyle("-fx-font-weight: regular");
textFlow.getChildren().addAll(first, second, third);