Here's some sample code.

Notice how if you click updatePopup while the popup is showing you'll
see the contents of the popup update.  If you close the popup, and
click on update popup, the next time you click on showPopup, the popup
will not display correctly.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
layout="horizontal">
<mx:Script>
        <![CDATA[
                import mx.controls.Label;
                import mx.events.CloseEvent;
                import mx.managers.PopUpManager;
                import mx.containers.Panel;
                import mx.containers.TitleWindow;
                
                private var popup:TitleWindow;
                private var count:Number = 0;
                
                private function createPopup():void {
                        if (!popup) {
                                popup = new TitleWindow();
                                popup.title = "popup window";
                                popup.showCloseButton = true;
                                popup.addEventListener( CloseEvent.CLOSE, 
onClose );
                                
                                updatePopup();
                        }
                }
                
                private function showPopup():void {
                        createPopup();
                        PopUpManager.addPopUp( popup, this, false );
                        PopUpManager.centerPopUp( popup );
                }
                
                private function updatePopup():void {
                        createPopup();
                        
                        var i:int;
                        for (i = popup.numChildren - 1; i >= 0; i--) {
                                popup.removeChildAt( i );
                        }
                        
                        for (i=0;i < 5; i++) {
                                var label:Label = new Label;
                                label.text = String(count );
                                popup.addChild( label );
                                count++;
                        }
                }
                
                private function onClose(e:Event):void {
                        PopUpManager.removePopUp( popup );
                }
        ]]>
</mx:Script>
<mx:Button label="show popup" click="showPopup()"/>
<mx:Button label="update popup" click="updatePopup()"/>
</mx:Application>


Reply via email to