Итак, я должен сделать Зодиак c Знак GUI, и нам поручают иметь следующее:
- a Метка в верхнем левом углу, и a TextField в правом верхнем углу (оба с заполнением)
- выход Кнопка в центре GUI, а также очистить и найти мой знак с обеих сторон
- и, наконец, Этикетка в центре внизу, подсказывающая знак
Я совершенно не понимаю, как это сделать, так как я новичок в JavaFX. Я считаю, что мне понадобится узел ветки вместе с узлом root, чтобы получить такой макет. Мне не нужна помощь в создании экземпляра кнопки, меток и т. Д. c., В основном меня смущает то, как этот макет вообще может работать. Код, который у меня сейчас есть, следующий:
public class ZodiacGUI extends Application {
public static void main(String args[]) {
Application.launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
BorderPane mainPane = new BorderPane();
mainPane.setStyle("-fx-background-color: PINK");
setupControls(mainPane);
Scene scene = new Scene(mainPane);
setStage(primaryStage, scene);
}
public void setStage(Stage primaryStage, Scene scene) {
primaryStage.setWidth(500);
primaryStage.setHeight(200);
primaryStage.setTitle("What is my Zodiac Sign?");
primaryStage.setScene(scene);
primaryStage.show();
}
public void setupControls(BorderPane mainPane) {
Label label = new Label("Enter you birthday formatted as -> mm/dd");
Button exitButton = new Button();
Button findSign = new Button();
Button clear = new Button();
TextField userInput = new TextField();
userInput.setPromptText("Enter birthday");
exitButton.setText("Exit.");
findSign.setText("Find my sign.");
clear.setText("Clear.");
exitButton.setOnAction(e -> System.exit(0));
mainPane.setLeft(label);
mainPane.setRight(userInput);
mainPane.setCenter(exitButton);
mainPane.setCenter(findSign);
mainPane.setCenter(clear);
BorderPane.setAlignment(label, Pos.TOP_LEFT);
BorderPane.setAlignment(userInput, Pos.TOP_RIGHT);
BorderPane.setAlignment(exitButton, Pos.CENTER);
BorderPane.setAlignment(findSign, Pos.CENTER_LEFT);
BorderPane.setAlignment(clear, Pos.CENTER_RIGHT);
}
}
Это выводит только одну из кнопок из трех, как я предполагаю, потому что необходимо добавить еще одну BorderPane? Вот нарисованное изображение того, что я хотел бы предложить:
Просто чтобы уточнить, мне не нужна помощь с обработкой найти знак зодиака c, эт c. В основном нужна помощь с макетом, так как он несколько дней ставил меня в тупик. Заранее благодарим вас за помощь новичку в JavaFX :).