JavaFX setMaximized(true)在Ubuntu上无法与StageStyle.UNDECORATED一起使用

时间:2019-06-24 05:28:41

标签: java javafx

我使用JavaFX创建了不带标题栏的全屏应用程序,但仅在Windows上以全屏模式成功启动。当我在Linux(Ubuntu 19.04 Disco Dingo)上尝试时,如果没有标题栏,则无法使用全屏模式。有解决问题的线索吗?

package mrs;

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

public class Mrs extends Application {

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setAlwaysOnTop(true);
        primaryStage.setMaximized(true);

        /*If i comment this 1 line below,
            I can run the app in full screen mode on Ubuntu,
            but the tittle bar stil exist*/
        primaryStage.initStyle(StageStyle.UNDECORATED);

        VBox root = new VBox();
        root.setStyle("-fx-background-color: green;");

        Scene s = new Scene(root);
        primaryStage.setScene(s);
        primaryStage.show();
    }

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

1 个答案:

答案 0 :(得分:0)

似乎我在另一个StackOverflow线程上找到了解决方案。

最后,我可以在Linux上使用setFullScreen和setFullScreenExitKeyCombination(KeyCombination.NO_MATCH)在没有标题栏的情况下显示全屏应用程序