JavaFX Buttontexts 中的颜色单个字母

gim*_*mba 2 button text-coloring letters javafx-2

标题已经描述了我的问题。我想为 JFX 按钮中的单个字母或字母序列而不是整个文本着色。我找到了 Swing 组件的解决方案是否可以在 Java 中将字符串中的文本颜色更改为多种颜色?但还不适用于 javafx。任何人都可以帮助我吗?

Ulu*_*Biy 5

看一下这个

public class ColoredButtonTextDemo extends Application {

    @Override
    public void start(Stage primaryStage) {
        Button btn = new Button();
        btn.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);

        HBox coloredTextBox = HBoxBuilder.create().spacing(0).children(
                LabelBuilder.create().text("Say ").textFill(Color.YELLOW).build(),
                LabelBuilder.create().text("'").textFill(Color.DARKBLUE).build(),
                LabelBuilder.create().text("Hell").textFill(Color.RED).build(),
                LabelBuilder.create().text("o ").textFill(Color.GREEN).build(),
                LabelBuilder.create().text("W").textFill(Color.BLUE).build(),
                LabelBuilder.create().text("orld!").textFill(Color.DARKMAGENTA).build(),
                LabelBuilder.create().text("'").textFill(Color.DARKBLUE).build()//
                ).build();

        btn.setGraphic(coloredTextBox);
        StackPane root = new StackPane();
        root.getChildren().add(btn);
        Scene scene = new Scene(root, 300, 250);
        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出

在此处输入图片说明