@Override protected void valueChanged( ScreenDockFullscreenStrategy oldValue, ScreenDockFullscreenStrategy newValue ) { List<ScreenDockWindow> fullscreenWindows = new ArrayList<ScreenDockWindow>(); for( ScreenDockWindowHandle handle : dockables.dockables() ){ ScreenDockWindow window = handle.getWindow(); if( window.isFullscreen() ){ fullscreenWindows.add( window ); window.setFullscreen( false ); } } if( oldValue != null ){ oldValue.uninstall( ScreenDockStation.this ); } if( newValue != null ){ newValue.install( ScreenDockStation.this ); } for( ScreenDockWindowHandle window : dockables.dockables() ){ window.getWindow().setFullscreenStrategy( newValue ); } for( ScreenDockWindow window : fullscreenWindows ){ window.setFullscreen( true ); } } };