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

时间:2017-03-26 03:24:25

标签: css javafx scenebuilder

我使用的是一个按钮,里面有两行文字(第一行是按钮的功能,第二行是一个小解释),我想通过css为它们设置不同的大小。这有可能,或者有更实际的方法吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用单个文本元素(例如用于按钮文本的文本元素)无法实现此目的,但您可以将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;
}