У меня была эта проблема с другим моим графическим интерфейсом, и я не могу ее исправить, что бы я ни делал. Последовал примеру в моей книге и все равно в итоге проигнорировал выравнивание.
Независимо от того, что setAlignment
я делаю для Pos, мои кнопки всегда оказываются в верхнем левом углу моего GUI.
Попытка реорганизации кода и различных позиций для setAlignment
package application;
import javafx.scene.image.*;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.Group;
import javafx.scene.paint.Color;
import javafx.scene.shape.*;
import javafx.event.ActionEvent;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.layout.FlowPane;
public class Game extends Application {
Rectangle rect = new Rectangle(0, 800, 800, 100);
public void start(Stage primaryStage) {
rect.setFill(Color.BLACK);
Button pushA = new Button("Fight");
pushA.setOnAction(this::processButtonPressFight);
Button pushB = new Button("Block");
pushB.setOnAction(this::processButtonPressFight);
Button pushC = new Button("Bag");
pushC.setOnAction(this::processButtonPressFight);
FlowPane pane = new FlowPane(pushA, pushB, pushC);
pane.setAlignment(Pos.BASELINE_LEFT);
pane.setHgap(100);
Group root = new Group(rect, pane);
Scene scene = new Scene(root, 800, 900);
primaryStage.setTitle("Dungeon Crawler Battle!");
primaryStage.setScene(scene);
primaryStage.show();
}
public void processButtonPressFight(ActionEvent event) {
}
public static void main(String[] args) {
launch(args);
}
}
Я ожидаю, что мои кнопки будут в базовой линии слева, но получим их в левом верхнем углу.