Приложение "Hello World" на Java FX с минимальным кодом Java - PullRequest
0 голосов
/ 30 апреля 2018

Я выбрал Java FX между ним и Swing, потому что я хочу, чтобы это представление (* ML) и логика были разделены (невозможно в Swing).

Вот шаблон "Hello world" в IntelliJ IDEA:

 public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}

Два вмешательства для просмотра в логической части:

  1. Название настройки - setTitle()
  2. Настройка размера элемента верхнего уровня: primaryStage.setScene(new Scene(root, 300, 275));.

Могу ли я установить те же настройки в FXML?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Вы можете установить размер, используя

prefHeight="yourHeightValue" prefWidth="yourWidthValue"

устанавливает в корневой элемент вашей сцены. Вы можете создавать сцены, используя SceneBuilder , и он будет генерировать связанный FXML для вас.

0 голосов
/ 30 апреля 2018

Загрузчик FXML выдаст вам корневой элемент, который уже имеет prefWidth и prefHeight.

Вы не можете установить заголовок, но вы можете уменьшить размер сцены, и он будет автоматически взят из корневого элемента.

Еще одна вещь, которую нужно явно указать для Stage, - это ограничения по размеру. Вы можете иметь начальный размер, но пользователь может перетаскивать его по своему усмотрению.

...