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

时间:2013-03-27 13:17:40

标签: java window javafx-2

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

有没有办法做到这一点?

1 个答案:

答案 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