JavaFX更改标签中一个单词的颜色

时间:2014-02-13 14:11:58

标签: css javafx

我正在为桌面构建物业管理系统,目前我正在开发支付Feed功能。我希望我的标签中的付款金额以不同的颜色突出显示,以提高可读性。

我尝试了以下方法:

String datePaid  = "just now";
Label amount = new Label("350");
Label label2 = new Label("paid £" + amount.getText() + " " + datePaid);

然后我尝试应用以下CSS

    amount.setStyle("-fx-text-fill: #000 !important; -fx-highlight-text-fill: #000 !important; -fx-font-family: Arial");
    label2.setStyle("-fx-text-fill: #fff; -fx-font-size: 14px; -fx-translate-x: -36; -fx-translate-y: 24; -fx-font-family: 'Open Sans Light'");

我想通过声明!important我会覆盖label2中应用的样式,而是所有文本呈现在#fff中的屏幕

我将如何实现预期的结果?

2 个答案:

答案 0 :(得分:6)

请尝试使用Text inplace of Label作为金额。我希望它能解决这个问题。您也可以直接将颜色应用于文本。

Text amount = new Text("350");
amount.setFill(Color.RED);

答案 1 :(得分:0)

为此,我的解决方案是使用TextFlow窗格:

TextFlow textFlowPane = new TextFlow();
Text redText = new Text("This is red text...");
redText.setFill(Color.RED);
Text greenText = new Text("followed by green text");
greenText.setFill(Color.GREEN);
textFlowPane.getChildren().addAll(redText, greenText);

Red and green text with textFlow