监听舞台最小化,最大化等

mat*_*ean 11 java window javafx-2

我刚刚开始我的第二个JavaFX项目,我需要知道何时Stage最大化.在Swing中,这非常简单,可以使用WindowListener/Event来完成.然而,在搜索了JavaFX的Javadoc之后,我似乎找不到任何方式来监听a的状态Stage.

有没有办法做到这一点?

Ser*_*nev 20

要了解是否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());
    }
});
Run Code Online (Sandbox Code Playgroud)

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());
    }
});
Run Code Online (Sandbox Code Playgroud)

您可以在此处下载JDK 8的早期访问版本(包括FX8):http://www.oracle.com/technetwork/java/javase/downloads/ea-jsp-142245.html