在javafx

时间:2019-01-28 17:15:15

标签: java javafx

我试图根据isFullScreen属性更改菜单项文本。

发现:

isFullScreen.addListener((observable, oldValue, newValue) ->
        ((MenuItem) menuBar.lookup("#fullScreen"))
);

不起作用,因为lookup()返回一个节点,并且MenuItem类扩展了Object。

有替代方法吗?有哪些可能的解决方法?只是出于好奇,菜单栏中的查找方法有什么好处?

1 个答案:

答案 0 :(得分:3)

您需要听fullScreenProperty中的Stage

    primaryStage.fullScreenProperty().addListener((observable, oldValue, newValue) -> {
        if (newValue) {
            System.out.println("Window is FULL SCREEN!");
        } else {
            System.out.println("Window is NOT full screen!");
        }
    });

但是,如果您只是想检查窗口何时最大化(更常见),则应改为maximizedProperty