这个还是很重要的,开始的时候东西少,就一项的话,可能没感觉,但是如果需要点击的按钮多,展示的窗口也比较多的话,当然得关闭一个,点击下一个,不可能运行一次只点一个吧,这样就太累太繁琐了。今天教大家关闭的代码。
照例先代码:
AS代码:
package control
{
import mx.events.CloseEvent;
import mx.managers.PopUpManager;
import spark.components.TitleWindow;
public class CloseWindowAS extends TitleWindow
{
public function CloseWindowAS()
{
super();
addEventListener(CloseEvent.CLOSE,closewindow); //加一个关闭窗口的监听
}
protected function closewindow(event:CloseEvent):void
{
PopUpManager.removePopUp(this); //关闭窗口的一句代码
}
}
}
MXML代码:
<?xml version="1.0" encoding="utf-8"?>
<control:CloseWindowAS xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:control="control.*" width="400" height="300">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<mx:VBox width="100%" height="100%">
<s:Label width="100%" height="100%" color="#ED451E" fontSize="50" text="演示窗口"
textAlign="center" verticalAlign="middle"/>
</mx:VBox>
</control:CloseWindowAS>
如果只是这两个的话,是不能运行的,所以还得加一个应用程序运行,这是上节讲的知识,点击按钮触发事件。
应用程序代码:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import view.CloseWindow;
protected function btn1_clickHandler(event:MouseEvent):void //弹出窗口事件
{
var number1:CloseWindow = new CloseWindow;
PopUpManager.addPopUp(number1,this,true);
PopUpManager.centerPopUp(number1);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:TitleWindow x="275" y="156" width="183" height="140">
<s:Button id="btn1" label="按我测试" click="btn1_clickHandler(event)"/>
</s:TitleWindow>
</s:Application>
这样 就可以运行了,我们看看运行结果:
点右上角的X的时候,这个窗口就会关闭了。
自己敲,自己理解,举一反三。