我刚刚开始我的第二个JavaFX项目,我需要知道Stage
何时被最大化。在Swing中,这非常简单,可以使用WindowListener / Event来完成。但是,在搜索了JavaFX的Javadoc之后,我似乎找不到任何方式来监听Stage
的状态。
有没有办法做到这一点?
答案 0 :(得分:17)
要了解Stage
是否已最小化,您可以收听iconified
属性:
stage.iconifiedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
System.out.println("minimized:" + t1.booleanValue());
}
});
在即将发布的8.0版本中添加了对应的maximized
属性:
stage.maximizedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
System.out.println("maximized:" + t1.booleanValue());
}
});
您可以在此处下载JDK 8的早期访问版本(包括FX8):http://www.oracle.com/technetwork/java/javase/downloads/ea-jsp-142245.html