如何在大按钮内对齐图标和文字?

Rog*_*ach 4 javafx-2

我有一个很大的按钮(minWidthminHeight明确设置为大数字),在那个大按钮内有一个相对较小的图标和一些文本.图标和文本不会消耗所有可用空间,最终会被放置在按钮的中心.

我想将图标和文字放在按钮的左侧.但似乎我不明白所有这些路线的意思是,因为设置alignmentBASELINE_LEFT或设置textAlignmentLEFT没有改变任何东西.

我该如何解决?

Ser*_*nev 12

属性textAlignment控制多行文本的对齐方式,因此对您没有帮助.

但两者都有

 btn.setStyle("-fx-alignment: LEFT;");
Run Code Online (Sandbox Code Playgroud)

要么

 btn.setAlignment(Pos.BASELINE_LEFT);
Run Code Online (Sandbox Code Playgroud)

应该适合你.见下面的例子.

在此输入图像描述

public class ILoveBigButtonsAndICannotLie extends Application {

    @Override
    public void start(Stage primaryStage) {
        Button btn = new Button();
        btn.setText("Button");
        btn.setGraphic(new Rectangle(10,10, Color.RED));
        btn.setMinHeight(200);
        btn.setMinWidth(250);
        //btn.setStyle("-fx-alignment: LEFT;");
        btn.setAlignment(Pos.BASELINE_LEFT);

        StackPane root = new StackPane();
        root.getChildren().add(btn);
        primaryStage.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }

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