我试图根据isFullScreen属性更改菜单项文本。
发现:
isFullScreen.addListener((observable, oldValue, newValue) ->
((MenuItem) menuBar.lookup("#fullScreen"))
);
不起作用,因为lookup()返回一个节点,并且MenuItem类扩展了Object。
有替代方法吗?有哪些可能的解决方法?只是出于好奇,菜单栏中的查找方法有什么好处?
答案 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
。