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>");

Каким будет самый простой способ добиться чего-то подобного выше?

Ответы

Ответ 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);