`

Flex学习笔记_05 使用容器控制界面布局_02窗口布局

阅读更多

本文的相关文章:

Flex学习笔记_05 使用容器控制界面布局_01管理程序的布局

Flex学习笔记_05 使用容器控制界面布局_03动态布局、导航容器、表单布局

 

 

2. 窗口布局

Panel组件就是这样一个窗口组件,它直接继承Container。和它的子类TitleWindow都具有窗口程序的特点:有标题条,可以放置其他内容,形成一个整体。

 

2.1 Panel 组件

fontSize 表示字体大小,默认是10.一般中文12显示较清晰。

title 表示窗口的标题。

ControBar Panel的一个容器,位置不可调整总是在底部,布局模式跟HBox相同。可以放置按钮等组件。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Panel x="53" y="49" width="302" height="254" layout="horizontal" title="这里是标题"
 fontSize="12">
		<mx:Label text="这里放置其它内容"/>
		<mx:ControlBar height="24" paddingBottom="0" paddingTop="0" 
horizontalAlign="right">
			<mx:Button label="其他控制"/>
		</mx:ControlBar>
	</mx:Panel>	
</mx:Application>

 为窗口添加关闭按钮:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas width ="300" height="300" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
	<![CDATA[
		//点击关闭按钮时触发该函数
		internal function doClose():void{
			visible = false;
		}
	]]>
</mx:Script>
		<mx:Panel width ="100%"  height="100%" layout="absolute" title="这里是标题" 
fontSize="12">
		<mx:Label text="这里放置其它内容" x="0" y="0"/>	
		<mx:ControlBar height="24" paddingBottom="0" paddingTop="0" horizontalAlign="right"
 x="0" y="230">
			<mx:Button label="其他控制"/>
		</mx:ControlBar>
	</mx:Panel>	
	<mx:Canvas width="40" height="24" top = "4" right="10">
			<mx:Button label="X" width="30" x="10" click = "doClose()"/>
		</mx:Canvas>
</mx:Canvas>

将上面的代码保存为MXML,然后使用下面的代码new一个实例出来:

<?xml version="1.0" encoding="utf-8"?>
<!--这里我们使用了命名空间,将主程序目录下所有的对象归到“tree”标记下-->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
   xmlns:tree= "*">	
	<tree:Panel2 x="54" y="24">		
	</tree:Panel2>
</mx:Application>

 Application 的 applicationComplete 事件 会在主程序初始化后被触发。

接下来为窗口实现拖动功能,使用PopUpManager这个对象弹出Panel窗口,窗口将置于最上层,被称为Pop-Up弹出窗口。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 
applicationComplete ="initApp()">
	<mx:Script>
		<![CDATA[
			//导入类		
			import mx.managers.PopUpManager;
			import mx.managers.PopUpManagerChildList
			//导入Panel对象
			import mx.containers.Panel;
			//初始化函数
			internal function initApp():void{
				var win:Panel = new Panel();
				win.width = 300;
				win.height = 240;
				win.title = "PopUp Panel";
				win.x = 20;
				win.y = 20;
				//popup:弹出窗口
				PopUpManager.addPopUp(win,this,true);
			}
		]]>
	</mx:Script>
	<mx:Button x="130" y="280" label="Button"/>
</mx:Application>

PopUpManager.addPopUp函数可以将对象置于父级对象的顶层,对应的removePopUp可以删除弹出的对象。

addPopUp有4个参数:

window:IFlexDisplayObject, 弹出的对象

parent:DisplayObject, 分配给新弹出窗口层级的对象

modal:Boolean=false,  true的话,变成模式窗口,直到窗口关闭,其他元素不可用。

childList:String=null 将添加新窗口的对象,默认为PopUpManagerChildList. PARENT

 

所有组件都可以被弹出,会触发组件的内部预写方法。如Panel,弹出后,内部的isPopUp属性变为true,就可拖动了。

 

2.2 TitleWindow 组件

继承Panel ,多了一个关闭按钮。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
	<![CDATA[
		//点击后出发 close 事件,执行该函数
		internal function doClose():void{
			txt.text = "关闭按钮被点击了";
		}
	]]>
</mx:Script>
	<mx:TitleWindow x="52" y="45" width="250" height="271" close="doClose()" layout="absolute" title="TitleWindow 例子" fontSize="12" showCloseButton="true">
		<mx:TextArea id="txt" x="25" y="38" height="143" text="这是一个文本区"/>
	</mx:TitleWindow>
</mx:Application>

 showCloseButton指定是否显示关闭按钮。

close指定点击关闭按钮调用的方法。是TitleWindow的关闭事件。

creationComplete 事件,对象的初始化后触发的事件。

 

分享到:
评论
1 楼 benswallow 2009-04-08  
很好,收藏老

相关推荐

    Flex学习笔记_09 数据绑定_概念、使用 - Java&Flex - JavaEye技术网站

    Flex学习笔记_09 数据绑定_概念、使用 - Java&Flex - JavaEye技术网站 希望对爱好有帮助!!

    Flex特效_可拖动弹出窗口布局容器TitleWindow.zip )

    Flex特效_可拖动弹出窗口布局容器TitleWindow.zip )

    amcharts_flex_components_1.8.3.3

    6. **响应式设计**:随着移动设备的普及,amCharts_flex_components也支持响应式布局,确保图表在不同屏幕尺寸上都能正常显示。 7. **多语言支持**:对于国际化应用,amCharts_flex_components提供了多语言支持,...

    dh.rar_flex cool me_flex menu skin_flex 导航_flex4 menu_flex4 menu

    这个"dh.rar_flex cool me_flex menu skin_flex 导航_flex4 menu_flex4 menu"的压缩包文件,显然是与Flex4相关的资源,特别是关于创建酷炫的菜单导航和皮肤设计。 在Flex4中,菜单(Menu)是一种常见的用户界面元素...

    Flex_布局与容器

    Flex_布局与容器 部分容器的介绍和例程。

    Flex_4_样式与布局小结

    Flex_4_样式与布局小结详细的资源描述有机会获得我们的推荐,更有利于他人下载,赚取更多积分

    flex3-cn-api..zip_flex_flex 3 api_flex3 api_flex3 a_flex3 api

    1. **MXML**: MXML是一种声明式语言,用于构建Flex用户界面。开发者可以通过MXML定义组件布局、绑定数据、创建事件处理函数等,与ActionScript的编程风格形成互补。 2. **ActionScript 3**: Flex 3基于ActionScript...

    Flex学习PPT_wildh

    "Flex学习PPT"这个教程可能涵盖了Flex的基础概念、组件使用、事件处理等方面,是入门的好起点。 通过深入学习和实践“Flex学习PPT”,你可以逐步掌握Flex的基本技能,为开发功能丰富、交互性强的RIA打下坚实基础。...

    flex_fck_editor 例子

    Flex_FCK_Editor充分利用了Flex的图形用户界面和RIA(Rich Internet Application)特性,提供了更丰富的编辑体验。它支持多种文本格式、图片上传、链接管理等功能,并且可以与服务器端的多种语言如PHP、ASP.NET、...

    基本布局_flex基本布局模板_flex_

    在前端开发中,Flex布局(Flexible Box)是一种强大的盒模型布局方式,允许开发者轻松地创建响应式和动态的用户界面。这个"基本布局_flex基本布局模板_flex_"项目旨在介绍和提供一个基础的Flex布局模板,帮助开发者...

    flex学习笔记 flex学习总结 flex学习教程

    在本教程中,"作者说明.txt"可能包含了作者的学习心得和使用建议,"Flex中的架包"可能是Flex项目的源码或库文件,供读者参考和学习。通过阅读这些材料,你将能够逐步掌握Flex开发技术,踏上Flex开发之旅。

    FLEX学习笔记

    《FLEX学习笔记》 FLEX,全称为Flex Builder,是由Adobe公司开发的一款基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有交互性、响应性和丰富用户体验的Web应用。FLEX的...

    EmployeeManager.zip_LCDS Flex_flex_flex LC_flex lcds

    7. **学习路径**:对于初学者,理解Flex的基础组件和布局,掌握ActionScript语法,然后通过EmployeeManager项目实战,熟悉LCDS的配置和服务调用,将有助于快速掌握Flex与LCDS的整合应用。 总之,EmployeeManager...

    ArcGIS_Flex.rar_ArcGIS flex_ArcGIS_Flex_NavigationSkin.mxml_arc

    `NavigationSkin.mxml`的使用则进一步体现了Flex的灵活性,允许开发者自定义地图控制的视觉效果,提升用户体验。通过学习和理解这些概念,开发者可以构建出更加个性化和高效的GIS应用,服务于各种业务场景,如城市...

    Flex万年历记事本_flex源码

    1. **MXML与ActionScript**:Flex应用主要由两种语言编写,MXML用于定义组件结构和界面布局,而ActionScript则处理逻辑和业务代码。在"万年历记事本"的源码中,MXML文件可能包含了日历视图和记事本界面的定义,而...

    flex_style.rar_flex_flex style_style flex

    Flex布局在现代网页和应用程序开发中扮演着至关重要的角色,尤其在创建响应式设计和动态界面时。"flex"是CSS3中的一个属性,全称为"Flexible Box",旨在简化多列或多行元素的布局,使得元素能在不同屏幕尺寸下自适应...

    Flex3StyleExplorer_V3Beta

    在Flex编程中,CSS样式用于定义用户界面的视觉呈现,包括颜色、字体、布局和其他视觉属性。通过Flex3StyleExplorer_V3Beta,开发者无需深入理解底层的MXML和ActionScript代码,就能直接对Flex元件应用和调整CSS样式...

    Flex3界面布局中文教程

    在Flex3中,布局管理主要是通过不同的布局容器来实现,这些容器提供了多种布局方式,帮助开发者创建美观、高效的用户界面。下面我们将逐一探讨这些布局容器及其特点。 1. **Canvas layout 容器** Canvas布局容器...

    FLEX_List).rar_flex_flex list_flex li_flex lis_flex list

    Flex是一种强大的用户界面框架,常用于构建富互联网应用程序(RIA)。它由Adobe开发,允许开发者创建动态、交互式的Web应用。 首先,我们要理解`Flex List`组件。在Flex中,`List`是显示可滚动项目列表的标准组件。...

    Flex_LCDS_Java.rar_flex_flex java

    1. **Flex基础**:理解MXML和ActionScript的基本语法,学习如何创建Flex项目,使用Flex组件库构建用户界面。 2. **LCDS配置**:如何在Java应用服务器(如Tomcat、JBoss)上部署LCDS,配置Flex与Java的连接。 3. **...

Global site tag (gtag.js) - Google Analytics