JavaFX HTML-стиль (или эквивалентные) ярлыки
В Swing было тривиально легко стилизовать JLabel с использованием HTML - вы просто использовали HTML-код, который вам нужен, в качестве текста для ярлыка, и он был отображен соответствующим образом.
В JavaFX это недоступно, но мы можем установить стиль конкретной метки (или node в целом) с помощью метода setStyle()
.
Однако, используя этот подход, неясно, как установить часть метки как определенный стиль, например, эквивалент:
JLabel label = new JLabel("<html>Part of this <b>text is b</b>old and part isn't.</html>");
Каким будет самый простой способ добиться чего-то подобного выше?
Ответы
Ответ 1
Псевдоселекторы могли быть обходными, но, к сожалению, большинство из них еще не поддерживаются - http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html#introlimitations. Что касается поддержки Rich Text в элементах управления, они будут предоставлены JavaFX8 - https://bugs.openjdk.java.net/browse/JDK-8091709.
Ответ 2
Вы можете попробовать использовать 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);