FLEX- MDI窗口开发实例

参考了杜增强的dpanel和Flex Doc Team的关于Creating Resizable and Draggable Flex Components
连接:
dpanel
Creating Resizable and Draggable Flex Components
demo 下载
示例:

代码:
application.mxml
<? xml version="1.0" encoding="utf-8" ?>
< mx:Application  xmlns:mx ="http://www.adobe.com/2006/mxml"  layout ="vertical"
     xmlns:mdi
="ext.containers.windows.mdi.*"  width ="100%"  height ="100%"
creationComplete
="initCollections();" >
    
< mx:Script >
        
<![CDATA[
            import mx.events.MenuEvent;
            import mx.collections.XMLListCollection;
            import mx.controls.Alert;
            import mx.managers.PopUpManager;
            import mx.managers.SystemManager;
            import mx.containers.Panel;
            import ext.containers.windows.mdi.ChildWindow;
            import mx.events.FlexEvent;
            private var menuBarXML:XMLList =
            <>
                <menuitem label = "windows">
                    <menuitem label ="create window" data="createWindow"/>
                    <menuitem label ="close window" data="closeWindow"/>
                    <menuitem label ="max window" data ="maxWindow"/>
                    <menuitem label ="min window" data = "minWindow"/>
                    <menuitem label ="min all windows" data ="minAllWindows"/> 
                    <menuitem label ="Tile window" data ="tileWindow"/>
                    <menuitem label ="Cascade window" data ="cascadeWindow"/>
                </menuitem>
                <menuitem label ="modal window">
                    <menuitem label ="create modal window" data ="showModal"/>
                </menuitem>
            </>;        
            [Bindable]
            private var menuBarCollection:XMLListCollection;
            
            private function initCollections():void
            {
                menuBarCollection = new XMLListCollection(menuBarXML);
            }
            private function menuHandler(e:MenuEvent):void{
                //Alert.show(e.item.@data);
                switch(String(e.item.@data)){
                    case "createWindow":
                        new MDITest1().addToMainArea();
                        break;
                    case "showModal":
                        (new ModalWindow()).showModal();
                        break;
                    case "closeWindow":
                        ma.windowClose();
                        break;
                    case "maxWindow":
                        ma.maxActiveWindow();
                        break;
                    case "minWindow":
                        ma.minActiveWindow();
                        break;
                    case "minAllWindows":
                        ma.windowMinimizeAll();
                        break;
                    case "tileWindow":
                        ma.windowTileHorizontal();
                        break;
                    case "cascadeWindow":
                        ma.windowCascade();
                        break;
                }
            }
        
]]>
    
</ mx:Script >
    
< mx:MenuBar  x ="0"  y ="0"  labelField ="@label"  itemClick ="menuHandler(event);"
dataProvider
="{menuBarCollection}"  width ="100%"   />
    
< mdi:MainArea  id ="ma"  width ="100%"  height ="100%" />
</ mx:Application >

MDITest1.mxml
1  <? xml version="1.0" encoding="utf-8" ?>
2  < ChildWindow  xmlns ="ext.containers.windows.mdi.*"  xmlns:mx ="http://www.adobe.com/2006/mxml"
width
="400"  height ="300"  xmlns:flexlib ="flexlib.containers.*"  title ="child window" >
3       < flexlib:Docker >
4           < flexlib:DockableToolBar  width ="215" >
5           < mx:Button  width ="30"  label ="B"  fontWeight ="bold"  fontFamily ="Arial" />
6           < mx:Button  width ="32"  label ="I"  fontStyle ="italic" />
7           </ flexlib:DockableToolBar >
8       </ flexlib:Docker >
9  </ ChildWindow >


ModalWindow.mxml
 1  <? xml version="1.0" encoding="utf-8" ?>
 2  < Window  xmlns ="ext.containers.windows.*"  
 3      xmlns:mx ="http://www.adobe.com/2006/mxml"  width ="412"  height ="322"  
 4      layout ="absolute"  xmlns:flexlib ="flexlib.containers.*"  
 5      title ="This is a modal window"   >
 6       < mx:Script >
 7           <![CDATA[
 8              import mx.controls.Alert;
 9           ]]>
10       </ mx:Script >
11       < mx:Button  label ="close"  x ="331"  y ="246"  click ="modalResult = Alert.CANCEL;" />
12       < flexlib:SuperTabNavigator  x ="10"  y ="10"  width ="376"  height ="221"  tabEnabled ="true" >
13           < mx:Canvas  label ="one"  width ="100%"  height ="100%" >
14               < mx:DataGrid  x ="5"  y ="0"  width ="100%"  height ="100%" >
15                   < mx:columns >
16                       < mx:DataGridColumn  headerText ="Column 1"  dataField ="col1" />
17                       < mx:DataGridColumn  headerText ="Column 2"  dataField ="col2" />
18                       < mx:DataGridColumn  headerText ="Column 3"  dataField ="col3" />
19                   </ mx:columns >
20               </ mx:DataGrid >
21           </ mx:Canvas >
22           < mx:Canvas  label ="two"  width ="100%"  height ="100%" >
23           </ mx:Canvas >
24           < mx:Canvas  label ="three"  width ="100%"  height ="100%" >
25           </ mx:Canvas >
26           < mx:Canvas  label ="four"  width ="100%"  height ="100%" >
27           </ mx:Canvas >
28       </ flexlib:SuperTabNavigator >
29       < mx:Button  label ="ok"  x ="288"  y ="246"  click ="modalResult = Alert.OK" />
30  </ Window >
31 
ModalWindow.mxml中第11行中 click事件中只要对modalResult写值就自动关闭窗口,模仿delphi中的模态窗口。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的校园二手书交易平台,源码+数据库+毕业论文+视频演示 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的校园二手书交易平台实现了图书信息查询。系统用到了关系型数据库中MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让校园二手书交易平台更能从理念走到现实,确确实实的让人们提升信息处理效率。 关键字:信息管理,时效性,安全性,MySql;Spring Boot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值