title: What is the right way to scale a Flex application up to fullscreen?
body: <p>Fullscreen mode and I have been battling for a while in this Flex application, and I'm coming up short on Google results to end my woes.  I have no problem going into fullscreen mode by doing a <code>Application.application.stage.displayState = StageDisplayState.FULL_SCREEN;</code>, but the rest of the content just sits there in the top, left corner at it's original size.</p>
  
  <p>All right, says I, I'll just do a <code>stage.scaleMode = StageScaleMode.SHOW_ALL</code> and make <em>it</em> figure out how to pull this off.  And it looks like it does.  Except that when you mouse over the individual checkboxes and buttons and various components, they all <em>fidget</em> slightly.  Just a slight jump up or down as they resize...<em>on mouse over</em>.  Well, this is frustrating, but bearable.  I can always just invoke <code>invalidateSize()</code> explicitly for all of them.</p>
  
  <p>But for the comboboxes.  The ones at the bottom have their menus go off the bottom of the screen, and when I pop out of fullscreen mode, their drop downs cut off half way.  I have no idea how to fix <em>that</em>.  Can someone step in here, and put me out of my misery?</p>
  
  <p>What is the right way to scale a Flex application up to fullscreen?</p>
  
  <pre><code>var button:Button = button_fullscreen;
  try {
      if(stage.displayState == StageDisplayState.FULL_SCREEN) {
          Application.application.stage.displayState = StageDisplayState.NORMAL;
          button.label = "View Fullscreen Mode";
          stage.scaleMode = StageScaleMode.NO_SCALE;
      } else {
          Application.application.stage.displayState = StageDisplayState.FULL_SCREEN;
          button.label = "Exit Fullscreen Mode";
          stage.scaleMode = StageScaleMode.SHOW_ALL;
      }
      invalidateSizes(); // Calls invalidateSize() explicitly on several components.
  } catch(error:SecurityError) {
      Alert.show("The security settings of your computer prevent this from being displayed in fullscreen.","Error: "+error.name+" #"+error.errorID);
  } catch(error:Error) {
      Alert.show(error.message,error.name+" #"+error.errorID);
  }
  </code></pre>