Javafx AlwaysOnTop Windows приоритет в полноэкранном приложении MacOS - PullRequest
0 голосов
/ 04 апреля 2019

Я ничего не могу найти по этому поводу, и я не уверен, возможно ли это, но я постараюсь. У меня есть приложение JavaFX, показывающее этап, когда вы начинаете вводить текст (оно слушает вводы ОС). Все работает нормально, кроме случаев, когда приложение установлено в полноэкранном режиме на MacOS. Этап не будет отображаться над приложением, даже если Alwaysontop имеет значение true.

Единственный способ заставить это работать - использовать JDialog в Type.POPUP, но это вызывает другие проблемы в моем коде. Я пытался играть с уровнем окна, но он не работает.

Вот тест, который я провел, чтобы проверить проблему. Это будет относиться к любому приложению, кроме случаев, когда оно в полноэкранном режиме.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

public class ontopTest extends Application{

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

@Override
public void start(final Stage stage){
    Scene scene = new Scene(new Pane(new Label("test application")));
    stage.setTitle("test");
    stage.initStyle(StageStyle.UNDECORATED);
    stage.setWidth(300);
    stage.setHeight(300);
    stage.setScene(scene);
    // stage.setAlwaysOnTop unneeded as com.sun.glass.ui sets window to top
    stage.setY(0); // Set Y Axis to 0
    // Need to show window first
    stage.show();

    com.sun.glass.ui.Window.getWindows().get(0).setLevel(3);
    // Set window level to 3 (Maximum)
 }
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...