7

私は非常に大きなボタンを持っています (minWidth明示minHeight的に大きな数字に設定されていました)。その大きなボタンの中には、比較的小さなアイコンといくつかのテキストがあります。アイコンとテキストは利用可能なすべてのスペースを消費せず、最終的にボタンの中央に配置されます。

ボタンの左側にアイコンとテキストを配置したい。alignmentしかし、に設定してBASELINE_LEFTも設定textAlignmentしてLEFTも何も変わらなかったため、これらすべての配置が何を意味するのか理解していないようです。

どうすれば修正できますか?

4

1 に答える 1

15

プロパティtextAlignmentは、複数行のテキストの配置を制御するため、役に立ちません。

しかし、両方

 btn.setStyle("-fx-alignment: LEFT;");

また

 btn.setAlignment(Pos.BASELINE_LEFT);

あなたのために働くはずです。以下の例を参照してください。

ここに画像の説明を入力してください

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(); }
}
于 2012-07-22T12:41:21.860 に答える