2017-06-26 14 views
0

Javaのテキストフィールド(Java FX)(ラベル上)に2つの異なる色を1つの文に入れる方法を知っていますか?私もCSSを使用していますが、クラスに直接設定する方が好きです。Java Textfield 2の色

答えて

2

あなたは、いくつかのテキストノードを作成してのTextFlowレイアウトを使用して、単一のテキストフローでそれらをレイアウトすることができますのTextFlow

リッチテキストと双方向のサポート

を使用する必要がありますペイン。 TextFlowオブジェクトは、各Textノードのテキストとフォントを使用しますが、その子の折り返し幅とxおよびyプロパティは無視します。 TextFlowオブジェクトは、独自の幅とテキストの配置を使用して、各子の位置を決定します。例39-12に、TextFlowペインに異なるフォントとテキストを配置した3つのTextノードを示します。

String family = "Helvetica"; 
double size = 50; 

TextFlow textFlow = new TextFlow(); 
textFlow.setLayoutX(40); 
textFlow.setLayoutY(40); 

// Red 
Text text1 = new Text("Hello "); 
text1.setFont(Font.font(family, size)); 
text1.setFill(Color.RED); 

// Orange 
Text text2 = new Text("Bold"); 
text2.setFill(Color.ORANGE); 
text2.setFont(Font.font(family, FontWeight.BOLD, size)); 

// Green 
Text text3 = new Text(" World"); 
text3.setFill(Color.GREEN); 
text3.setFont(Font.font(family, FontPosture.ITALIC, size)); 

textFlow.getChildren().addAll(text1, text2, text3); 

Group group = new Group(textFlow); 
Scene scene = new Scene(group, 500, 150, Color.WHITE); 
stage.setTitle("Hello Rich Text"); 
stage.setScene(scene); 
stage.show(); 

https://docs.oracle.com/javase/8/javafx/user-interface-tutorial/text-settings.htm

上記の例では、レッド、オレンジ、グリーン(と異なるスタイリングを持つ)でこんにちは太字世界を生成します。厳密にCSSソリューションを必要としない限り、あなたが望むものをTextFieldで行うことはできません。 TextFlowは行く方法です

0

2つの異なるラベルを使用してください。あなたがすでにそれらを使う方法を知っているようであれば、ラベルでテキストを区切り、それらを使って色を設定するだけです。