【问题标题】:Java FX change Halignment of ComponentJavafx 更改组件的对齐方式
【发布时间】:2017-04-11 13:33:29
【问题描述】:
public CheckBox createBox(){
    CheckBox box = new CheckBox();
    box.setText(name);
    box.setOnMouseClicked(x -> handlePlaying(box));
    return box;
}

比我将它们添加到 GridPane

checkBoxes
            .forEach(x -> gridPane.add(x, checkBoxes.indexOf(x) + 1, 2));

现在我想改变Halignment,但我找不到方法。

PS:我想改变 Halignement 而不是一般的 Alignement;

【问题讨论】:

  • 这取决于组件所在的容器...请您发布自包含示例...

标签: java javafx java-8 alignment fxml


【解决方案1】:

我相信这个例子说明了 Labelled.setAlignment() 和 GridPane.setHAlignment() 之间的区别。

代码

@Override
public void start(Stage primaryStage) throws Exception {
    GridPane grid = new GridPane();
    CheckBox box1 = new CheckBox("horse");
    box1.setMinWidth(200);
    box1.setAlignment(Pos.CENTER_RIGHT);
    grid.getChildren().add(box1);
    CheckBox box2 = new CheckBox("banana");
    grid.getChildren().add(box2);
    GridPane.setRowIndex(box2, 1);
    GridPane.setHalignment(box2, HPos.RIGHT);   // <=== this is probably what you want
    primaryStage.setScene(new Scene(grid));
    primaryStage.show();
}

我会推荐 FXML 而不是程序化布局,但同样的原则也适用。在 SceneBuilder 的 Layout 选项卡中找到 HAlignment 属性...

Labelled.setAlignment() 确实已经在其 JavaDoc 中解释了这一点,尽管我知道为什么这可能会令人困惑。

指定 Labeled 中的文本和图形应如何显示 当标签内有空白空间时对齐。

【讨论】:

    猜你喜欢
    • 2016-11-24
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 2016-05-28
    • 2019-10-31
    • 2020-05-27
    相关资源
    最近更新 更多