Ответ 1
О, это было легко. Я сделал выравнивание в неправильном месте. добавив, что это выполнит задание:
tmp[currArrPos].setAlignment(Pos.CENTER);
спасибо в любом случае.
У меня есть GridPane
, заполненный 1-буквенными надписями.
Вот изображение:
Вот код:
int charSpacing = 1;
int charsInWidth = 28;
int charsInHeight = 16;
double charWidth = 15;
double charHeight = 20;
GridPane gp = new GridPane();
gp.setAlignment(Pos.CENTER);
Label[] tmp = new Label[charsInHeight*charsInWidth];
String text = "W";
int currArrPos = 0;
for(int y = 0; y < charsInHeight; y++) {
HBox hbox = new HBox(charSpacing);
for(int x = 0; x < charsInWidth; x++) {
tmp[currArrPos] = new Label(text);
tmp[currArrPos].setTextFill(Paint.valueOf("white"));
tmp[currArrPos].setMinHeight(charHeight);
tmp[currArrPos].setMinWidth(charWidth);
tmp[currArrPos].setMaxHeight(charHeight);
tmp[currArrPos].setMaxWidth(charWidth);
tmp[currArrPos].setStyle("-fx-border-color: white;");
hbox.getChildren().add(tmp[currArrPos++]);
if(x%2 == 0){
text = "I";
} else{
text = "W";
}
}
gp.add(hbox, 1, y);
}
guiDisplay.getChildren().add(gp);
Как я могу центрировать персонажей?
Я поместил их в HBox
и дал им интервал. Я попытался сделать textAlignment
метки для CENTER
, но это, конечно, не работает.
Я пробовал это также:
gp.setAlignment(Pos.CENTER);
У кого-нибудь есть идея? Спасибо!
О, это было легко. Я сделал выравнивание в неправильном месте. добавив, что это выполнит задание:
tmp[currArrPos].setAlignment(Pos.CENTER);
спасибо в любом случае.
GridPane.setHalignment(tmp[currArrPos], HPos.CENTER);
Использование GridPane для элементов управления компоновкойВы можете использовать свойство setAligment(Pos.CENTER)
вашего element-
или вы можете определить contraint
для GridPane
, который содержит элементы
<columnConstraints>
<ColumnConstraints halignment="CENTER" />
</columnConstraints>
Пример:
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.ColumnConstraints?>
<GridPane fx:controller="app.graphics.Controller"
xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
<columnConstraints>
<ColumnConstraints halignment="CENTER" />
</columnConstraints>
</GridPane>