设置不同大小的按钮文本行,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;
}
我用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;
}