【发布时间】:2013-03-17 14:11:15
【问题描述】:
我刚刚开始我的第二个 JavaFX 项目,我需要知道 Stage 何时被最大化。在 Swing 中,这相当简单,可以通过使用 WindowListener/Event 来完成。但是,通过 JavaFX 的 Javadoc 搜索后,我似乎找不到任何方法来监听 Stage 的状态。
有没有办法做到这一点?
【问题讨论】:
我刚刚开始我的第二个 JavaFX 项目,我需要知道 Stage 何时被最大化。在 Swing 中,这相当简单,可以通过使用 WindowListener/Event 来完成。但是,通过 JavaFX 的 Javadoc 搜索后,我似乎找不到任何方法来监听 Stage 的状态。
有没有办法做到这一点?
【问题讨论】:
要了解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());
}
});
通讯作者maximized 属性将在即将发布的 8.0 版本中添加:
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
【讨论】: