15

Swing では、HTML を使用して JLabel のスタイルを設定するのは非常に簡単でした。必要な HTML をラベルのテキストとして使用するだけで、適切にレンダリングされました。

JavaFX ではこれは利用できませんが、メソッドを使用して特定のラベル (または一般的なノード) のスタイルを設定できますsetStyle()

ただし、このアプローチを使用すると、ラベルの一部を特定のスタイルに設定する方法が明確ではありません。たとえば、次のようになります。

JLabel label = new JLabel("<html>Part of this <b>text is b</b>old and part isn't.</html>");

上記のようなことを達成する最も簡単な方法は何でしょうか?

4

2 に答える 2

10

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);
于 2015-12-11T18:58:55.833 に答える
8

疑似セレクターは回避策であった可能性がありますが、残念ながらそれらのほとんどはまだサポートされていません-http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html#introlimitations。コントロールのリッチテキストサポートについては、JavaFX8(https://bugs.openjdk.java.net/browse/JDK-8091709)によって提供されます。

于 2012-10-02T18:32:26.020 に答える