Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Listener for a Stage minimizing, maximizing, etc

I am just starting my second JavaFX projects, and I need to know when a Stage is being maximized. In Swing, this is fairly simple and can be accomplished by using a WindowListener/Event. However, after searching through JavaFX's Javadoc, I can't seem to find any way of listening to the state of a Stage.

Is there any way to do this?

like image 812
mattbdean Avatar asked Mar 27 '13 13:03

mattbdean


1 Answers

To find out if Stage minimized you can listen to iconified property:

stage.iconifiedProperty().addListener(new ChangeListener<Boolean>() {

    @Override
    public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
        System.out.println("minimized:" + t1.booleanValue());
    }
});

Correspondent maximized property is added in the upcoming 8.0 release:

stage.maximizedProperty().addListener(new ChangeListener<Boolean>() {

    @Override
    public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
        System.out.println("maximized:" + t1.booleanValue());
    }
});

You can download early access build of JDK 8 (which includes FX8) here: http://www.oracle.com/technetwork/java/javase/downloads/ea-jsp-142245.html

like image 160
Sergey Grinev Avatar answered Oct 16 '22 10:10

Sergey Grinev