import javafx.application.Application; 
import javafx.beans.InvalidationListener; 
import javafx.scene.Scene; 
import javafx.scene.layout.VBox; 
import javafx.stage.Stage; 

public class StageEventTest extends Application { 

@Override 
public void start(Stage ps) throws Exception { 

VBox root = new VBox(); 
Scene scene = new Scene(root); 
ps.setScene(scene); 

InvalidationListener listener = (o) -> { 
System.out.printf( 
"max=%b, x=%d, y=%d, w=%d, h=%d\r\n", 
ps.isMaximized(), 
(int) ps.getX(), 
(int) ps.getY(), 
(int) ps.getWidth(), 
(int) ps.getHeight()); 
}; 

ps.maximizedProperty().addListener(listener); 
ps.xProperty().addListener(listener); 
ps.yProperty().addListener(listener); 
ps.widthProperty().addListener(listener); 
ps.heightProperty().addListener(listener); 

ps.show(); 
} 

public static void main(String[] args) { 
StageEventTest.launch(args); 
} 

} 