После обновления Windows до 1903 (май 2019) JavaFX не может создать этап - PullRequest
2 голосов
/ 08 июня 2019

Я обновил свой ноутбук с Windows 10 майской сборкой 2019 года (1903 г.), и JavaFX, похоже, больше не работает. После запуска любого приложения JavaFX я вижу значок на панели задач, но окно не создается. Моя Java - последняя версия Java 8, последняя версия Eclipse в качестве IDE.

Это известная проблема или я что-то не так делаю? Есть ли обходной путь или исправить? Спасибо

Я создал небольшое приложение, которое воспроизводит проблему. Если я закомментирую следующую строку primaryStage.initStyle (StageStyle.UNDECORATED); тогда это работает как ожидалось. В противном случае Windows 10 (1903) зависает, окно не отображается. Имейте в виду, что вам нужно использовать диспетчер задач в Windows, чтобы убить JVM.

package com.alam33;

import java.io.IOException;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

public class Win10_1903Test extends Application {

    public Win10_1903Test() {

    }

    @Override
    public void start(Stage primaryStage) throws IOException {

        VBox vbox = new VBox();
        vbox.setPrefHeight(200);
        vbox.setPrefWidth(300);
        Scene scene = new Scene(vbox);
        primaryStage.setTitle("Win10_1903Test");
        primaryStage.setScene(scene);
        primaryStage.setFullScreen(true);

        /* THIS IS THE OFFENDING LINE */
        primaryStage.initStyle(StageStyle.UNDECORATED);

        primaryStage.show();

    }

    public static void main(String[] args) {

        launch(args);
    }

}

1 Ответ

1 голос
/ 13 июня 2019

Это обходной путь, предоставленный Oracle, хотя они не смогли его воспроизвести.Я подозреваю, что проблема связана с оборудованием на моих машинах.

Обходной путь: добавьте опцию jvm -Dprism.order = sw

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

...