设置不同大小的按钮文本行,css,javafx

Set different size of button text lines, css, javafx

我用scenebuilder做了一个按钮,里面有两行文字(第一行是按钮的功能,第二行是一点解释),我想为它们设置不同的大小,通过css。这是可能的,还是有更实用的方法来做到这一点?

感谢您的帮助。

您无法使用单个文本元素(如用于按钮文本的文本元素)实现此目的,但您可以添加 Label 作为 graphic 并通过 css 应用不同的文本大小:

@Override
public void start(Stage primaryStage) {
    Button btn = new Button("Text");
    Label explanation = new Label("This is the explanation");
    explanation.getStyleClass().add("explanation");
    btn.setGraphic(explanation);

    StackPane root = new StackPane();
    root.getChildren().add(btn);

    Scene scene = new Scene(root, 300, 300);
    scene.getStylesheets().add(getClass().getResource("explanation.css").toExternalForm());

    primaryStage.setScene(scene);
    primaryStage.show();
}

explanation.css

.button {
    -fx-font-size: 20;
    -fx-content-display: bottom;
}

.button>.explanation {
    -fx-font-size: 10;
}