Оповещение о проблеме Gluon Charm - PullRequest
0 голосов
/ 20 января 2020

Кажется, что com.gluonhq.charm.glisten.control.Alert может появиться только в том случае, если представление полностью загружено.

К сожалению, у меня есть особый случай, когда я хочу, чтобы предупреждение отображалось до появления любого представления, и его дочерние элементы появлялись. (В моем случае я загружаю файл F XML и хочу создать экземпляр Alert в методе контроллера initialize().) Но в этом случае он не работает. В то время как javafx.scene.control.Alert появляется без проблем, Gluon Alert вызывает NullPointerExcpetion в строке, где я пытаюсь создать его экземпляр. Но мне нужно использовать класс Alut от Gluon из-за его кроссплатформенных преимуществ.

В этой ситуации он тоже не работает, приложение работает вечно, а представление никогда не отображается:

public class BasicView extends View {
    public BasicView() {
        Alert l = new Alert(javafx.scene.control.Alert.AlertType.INFORMATION);
        l.showAndWait();

        Button button = new Button("Button");

        setCenter(button);
    }
}

В этом случае представление успешно отображается, и после этого предупреждение отображается без каких-либо проблем:

public BasicView() {
    Button button = new Button("Button");

    setCenter(button);

    Platform.runLater(() -> {
        Alert l = new Alert(javafx.scene.control.Alert.AlertType.INFORMATION);
        l.showAndWait();
    });
}

Вот почему я предположил, что он работает только при загрузке View.

Так может кто-нибудь мне помочь? Как я могу получить предупреждение, которое будет отображаться до того, как появится представление? Это вообще возможно?

...