双击Panel的标题可以实现最大化:
HPanel.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="onCreationComplete()">
<fx:Metadata>
[Event(name="headerClick")]
</fx:Metadata>
<fx:Script>
<![CDATA[
import flash.events.Event;
import spark.skins.spark.PanelSkin;
private function onCreationComplete():void
{
var panelSkin:PanelSkin=skin as PanelSkin;
if(panelSkin==null) return;
panelSkin.addEventListener(MouseEvent.CLICK,onHeaderClick);
}
private function onHeaderClick(event:MouseEvent):void
{
if(event.currentTarget is PanelSkin)
{
var ps:PanelSkin=PanelSkin(event.currentTarget);
if(event.localY<30)
{
dispatchEvent(new Event("headerClick"));
}
}
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout paddingLeft="10" paddingTop="10"
paddingBottom="10" paddingRight="10"/>
</s:layout>
</s:Panel>
FlexTest.mxml
<?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"
xmlns:comp="components.*"
width="100%" height="100%">
<fx:Script>
<![CDATA[
private function toggleState(newState:String):void
{
currentState=(currentState==newState)?'':newState;
}
]]>
</fx:Script>
<s:layout>
<s:BasicLayout/>
</s:layout>
<s:states>
<s:State name="default"/>
<s:State name="stateOne" stateGroups="[noStateTwo,noStateThree]"/>
<s:State name="stateTwo" stateGroups="[noStateOne,noStateThree]"/>
<s:State name="stateThree" stateGroups="[noStateOne,noStateTwo]"/>
</s:states>
<comp:HPanel id="stateOnePanel" title="State One Panel"
left="10" top="10" width="200" right.stateOne="10"
height="100" bottom.stateOne="10" excludeFrom="noStateOne"
headerClick="toggleState('stateOne')">
<s:Label text="松尾 芭蕉" fontSize="20" fontSize.stateOne="140"/>
</comp:HPanel>
<comp:HPanel id="stateTwoPanel" title="State Two Panel"
left="10" bottom="10" top="115" top.stateTwo="10"
width="200" right.stateTwo="10" excludeFrom="noStateTwo"
headerClick="toggleState('stateTwo')">
<s:Label width="100%" height="100%" fontStyle="italic"
text="I am trusting that the following pages
http://en.wikipedia.org/wiki/Matsuo_Bash%C5%8D
and http://en.wikisource.org/wiki/Frog_Poem
have the Kanji of Matsuo Bashō's name and
famous poem correct.)"/>
</comp:HPanel>
<comp:HPanel id="stateThreePanel" title="State Three Pane"
excludeFrom="noStateThree" top="10" left="220"
left.stateThree="10" right="10" bottom="10"
headerClick="toggleState('stateThree')">
<s:Label fontSize="50" fontSize.stateThree="70" text="古池や 蛙飛びこむ 水の音"/>
<s:Label text="--Matsuo Bashō
The ancient pond A frog leaps in The sound of the water.
--Donald Keene"/>
</comp:HPanel>
</s:Application>
- 大小: 24.9 KB
- 大小: 15.9 KB
分享到:
相关推荐
在实际开发中,`myPanel`可能是一个具体的Flex Panel实例,包含了上述功能的实现。开发人员可能通过XML描述(MXML)或ActionScript代码(AS3)来创建和配置这个Panel,确保它具备最小化、最大化、关闭和可移动的能力...
### Flex入门实例教程知识点概述 #### 一、Flex简介 - **定义与特点**:Flex是一种开源框架,用于构建高质量的Web应用程序,并可跨浏览器、操作系统和设备进行部署。它结合了HTML、JavaScript和Flash Player的功能...
### Flex 入门实例教程知识点总结 #### 一、Flex简介 - **Flex** 是一种开源框架,主要用于构建跨浏览器、跨平台的应用程序。它基于Adobe的Flash平台,并且使用了MXML(一种XML方言)作为标记语言以及ActionScript...
### Flex高级数据绑定实例——界面语言切换 #### 概述 在Flex开发中,实现界面的多语言切换是一项常见的需求。本示例通过一个具体的代码片段来展示如何使用Flex中的高级数据绑定技术来实现这一功能。该示例不仅...
根据给定文件的信息,我们可以提炼出一系列关于Flex开发的关键知识点,包括Flex的基础概念、MXML与ActionScript的基本用法以及一些具体的控件和功能实现。下面将详细展开这些知识点: ### Flex简介 Flex是一种用于...
此实例不仅提供了一个实际的上传图片的应用场景,而且还包含了一些实用的代码片段,这对于想要了解如何在Flex中实现图片上传功能的开发者来说非常有价值。 #### 标题解析:“Flex图片上传实例” 该标题简洁明了地...
- 可以通过ActionScript编程实现自定义的绘制逻辑。 #### 6. 地图图层介绍 - 地图可以由多个图层组成,每个图层代表不同的信息。 - 通过控制图层的可见性和顺序,可以灵活地展示地图信息。 #### 7. 获取鼠标当前...
- 实现Flex应用与后端WebService之间的数据交互,提高应用的扩展性和灵活性。 #### 4. **Flex与Ajax交互** - 通过Ajax技术实现Flex应用与服务器的异步数据交换,提升用户体验。 综上所述,Flex不仅是一种功能...
### Flex开发实例知识点详解 #### 一、Flex简介与基础 **1. Flex简介** - **定义**: Flex是一种开源框架,用于构建具有表现力的Web应用程序,并能够跨浏览器、操作系统和设备平滑运行。 - **特点**: 基于XML...
### Flex基础入门与开发实例知识点概述 #### 一、Flex简介 - **定义**: Flex是一种开源框架,由Adobe系统提供支持,主要用于构建跨浏览器、跨平台的富互联网应用程序(RIA)。Flex开发基于XML,因此其语法遵循XML的...
本实例主要探讨的是FLEX中`transition`和`state`的综合应用,这两个特性是FLEX界面动态效果和组件状态管理的核心。 首先,让我们深入理解`transition`和`state`的概念: 1. **Transition(过渡效果)**: 过渡...
- **Flex与WebService通信**: 实现Flex应用程序与WebService的通信,支持JSON或XML数据交换。 - **Flex与Ajax交互**: 结合Ajax技术,实现异步数据加载和更新。 #### 六、总结 通过以上内容,我们可以看到Flex不仅...
总结来说,通过自定义ComboBox的下拉列表组件和渲染器,以及创建具有移动和调整大小功能的Panel,我们可以实现Flex中的ComboBox下拉列表中带有Checkbox的功能。这使得用户能够在下拉列表中进行多选操作,同时保持了...
通过这样的实例,开发者可以更好地理解如何在 Flex 3 应用程序中集成和使用 `Alert` 控件,以增强用户体验并提供必要的反馈。Flex 3 提供了大量其他类型的控件,如按钮(`Button`)、文本输入(`TextInput`)、列表...
在Adobe Flex 4中,若要移除某个Panel组件的标题,我们可以通过修改该Panel组件的特定属性来实现。具体方法是,使用ActionScript 3.0代码来访问Panel组件的titleDisplay属性,该属性是对Panel标题的引用。然后,通过...
### 示例 4:使用卡片布局制作切换效果 ```javascript Ext.create('Ext.panel.Panel', { title: 'Card Layout', width: 400, height: 300, layout: 'card', items: [ { title: 'Panel 1', html: 'Content ...
Flex是一种用于构建富互联网应用程序(RIA)的开源框架,而BlazeDS是Adobe提供的一个服务器端组件,用于在Flex客户端和Java后端之间实现AMF(Action Message Format)数据交换,提供实时的双向通信。 1. **Flex与...