Минимизация анимации JavaFX Undecorated Stage - PullRequest
0 голосов
/ 27 января 2019

Я пытался воссоздать свою собственную панель управления в приложении javafx, поэтому я установил окно как UNDECORATED, чтобы иметь возможность реализовать мою собственную кнопку, но при удалении исходной панели управления происходит удаление любой анимации окна, такой какте, которые вы получили, свернув окно или развернув его.Я использую jna для правильной повторной имплантации поведения сокращения, но анимация по-прежнему отсутствует.

Я попытался изменить значение newStyle другим значением из https://docs.microsoft.com/fr-fr/windows/desktop/winmsg/window-styles, но если анимация возвращается, это также означает, чтооригинальная панель управления вернись.

    Parent root = FXMLLoader.load(getClass().getResource("/fxml/test.fxml"));
    root.setId("pane");
    stage = primaryStage;
    stage.setTitle("test");
    stage.initStyle(StageStyle.UNDECORATED);
    scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
    long lhwnd = com.sun.glass.ui.Window.getWindows().get(0).getNativeWindow();
    Pointer lpVoid = new Pointer(lhwnd);
    HWND hwnd = new HWND(lpVoid);
    final User32 user32 = User32.INSTANCE;
    int oldStyle = user32.GetWindowLong(hwnd, GWL_STYLE);
    int newStyle = oldStyle | 0x00020000;//WS_MINIMIZEBOX
    user32.SetWindowLong(hwnd, GWL_STYLE, newStyle);
...