我有一个很大的按钮(minWidth
和minHeight
明确设置为大数字),在那个大按钮内有一个相对较小的图标和一些文本。图标和文字不占用所有可用空间,最终被放置在按钮的中心。
我想将图标和文字放在按钮的左侧。但似乎我不明白所有这些对齐的含义,因为将alignment
设置为BASELINE_LEFT
或将textAlignment
设置为LEFT
并没有改变任何内容。
我该如何解决?
答案 0 :(得分:12)
属性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(); }
}