FLEX实践:TREE与SWFLOADER的简单应用
2009-02-25 11:33
337 查看
前言:在开始之前,先描述一下这例子的内容
1)实现TREE控件的简单应用(加载内容为XML格式)
2)外部CSS应用
3)不同FLEX应用程序之间通过SWFLOADER调用
下面开始本次实践吧!
1)创建CSS文件
CssTest.css
/*
CSS file */
.MyTextStyle1
{
font-family:
Copacetix;
font-size:
15pt;
fontWeight:bold;
color:#B62F19;
cornerRadius:13;
width:104;
height:32;
alpha:0.49;
}
2)创建CssTest.mxml(调用CSS文件为其中的button控件做外观设置)
<?xml
version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:Style source="CssTest.css" />
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function showName():void{
Alert.show("Your name
is: "+username.text);
}
]]>
</mx:Script>
<mx:Text styleName="MyTextStyle" text="Please
input your name:" width="305" x="63"
y="37"/>
<mx:Button x="120" y="165"
label="Show Name" styleName="MyTextStyle1"
click="showName()"/>
<mx:TextInput x="63" y="92"
width="228" height="32" fontSize="15"
color="#100B3C" id="username" />
</mx:Application>
3)创建TreeTest2.mxml(引用TREE控件并调用CssTest.mxml)
<?xml
version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:Style source="CssTest.css" />
<mx:states>
<mx:State
name="show1">
<mx:SetStyle target="{panel1}" name="fontSize"
value="26"/>
<mx:SetStyle target="{panel1}" name="verticalAlign"
value="top"/>
<mx:SetProperty target="{panel1}" name="layout"
value="vertical"/>
<mx:AddChild position="lastChild">
<mx:SWFLoader x="409" y="76"
source="CssTest.swf"/>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:XMLList id="treeData">
<node id="10000" label="评估计划">
<node
id="10100" label="计划生成器">
<node id="10101" label="新建计划"
canvas="javaest.FirstCanvas"/>
<node id="10102" label="复制计划"
canvas="javaest.SecondCanvas"/>
</node>
<node
id="10200" label="计划管理">
<node id="10201" label="将计划转为准备运行" canvas="javaest.GetProductList"/>
<node id="10202" label="将计划转为正在配置" canvas="javaest.SecondCanvas"/>
<node id="10203" label="查询计划状态"
canvas="javaest.FirstCanvas"/>
</node>
<node
id="10300" label="我的博客">
<node id="10301" label="北边村人"
canvas="javaest.javaeye.com"/>
</node>
</node>
</mx:XMLList>
<mx:Script>
<![CDATA[
import mx.controls.Image;
import
mx.controls.Button;
import mx.containers.Canvas;
import mx.controls.Alert;
private function addNewTabPage(event:Event):void {
var selectedNode:XML=Tree(event.target).selectedItem as XML;
var id:String=selectedNode.@id;
var label:String=selectedNode.@label;
var canvasClassName:String=selectedNode.@canvas;
if (functionTree.dataDescriptor.isBranch(selectedNode)) {
functionTree.expandItem(selectedNode,
!functionTree.isItemOpen(selectedNode));
} else{
//如果节点项为“新建计划”,则将页面切换到SHOW1状态下
if(label=="新建计划"){
currentState="show1" ;
}
}
Tree(event.target).selectedItem=null;
}
]]>
</mx:Script>
<mx:Panel width="197"
height="548" dropShadowEnabled="false" title="新闻管理" id="panel1" fontSize="26">
<mx:Tree
id="functionTree" change="addNewTabPage(event)"
width="171" height="100%" enabled="true"
showRoot="true" dataProvider="{treeData}"
labelField="@label" borderStyle="none"
fontSize="13">
</mx:Tree>
</mx:Panel>
</mx:Application>
运行结果:
当节点不为“新建计划”时,不显示SHOW1的内容
当点击“新建计划”时,显示SHOW1状态的内容
运行CssTest.mxml的内容
1)实现TREE控件的简单应用(加载内容为XML格式)
2)外部CSS应用
3)不同FLEX应用程序之间通过SWFLOADER调用
下面开始本次实践吧!
1)创建CSS文件
CssTest.css
/*
CSS file */
.MyTextStyle1
{
font-family:
Copacetix;
font-size:
15pt;
fontWeight:bold;
color:#B62F19;
cornerRadius:13;
width:104;
height:32;
alpha:0.49;
}
2)创建CssTest.mxml(调用CSS文件为其中的button控件做外观设置)
<?xml
version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:Style source="CssTest.css" />
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function showName():void{
Alert.show("Your name
is: "+username.text);
}
]]>
</mx:Script>
<mx:Text styleName="MyTextStyle" text="Please
input your name:" width="305" x="63"
y="37"/>
<mx:Button x="120" y="165"
label="Show Name" styleName="MyTextStyle1"
click="showName()"/>
<mx:TextInput x="63" y="92"
width="228" height="32" fontSize="15"
color="#100B3C" id="username" />
</mx:Application>
3)创建TreeTest2.mxml(引用TREE控件并调用CssTest.mxml)
<?xml
version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:Style source="CssTest.css" />
<mx:states>
<mx:State
name="show1">
<mx:SetStyle target="{panel1}" name="fontSize"
value="26"/>
<mx:SetStyle target="{panel1}" name="verticalAlign"
value="top"/>
<mx:SetProperty target="{panel1}" name="layout"
value="vertical"/>
<mx:AddChild position="lastChild">
<mx:SWFLoader x="409" y="76"
source="CssTest.swf"/>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:XMLList id="treeData">
<node id="10000" label="评估计划">
<node
id="10100" label="计划生成器">
<node id="10101" label="新建计划"
canvas="javaest.FirstCanvas"/>
<node id="10102" label="复制计划"
canvas="javaest.SecondCanvas"/>
</node>
<node
id="10200" label="计划管理">
<node id="10201" label="将计划转为准备运行" canvas="javaest.GetProductList"/>
<node id="10202" label="将计划转为正在配置" canvas="javaest.SecondCanvas"/>
<node id="10203" label="查询计划状态"
canvas="javaest.FirstCanvas"/>
</node>
<node
id="10300" label="我的博客">
<node id="10301" label="北边村人"
canvas="javaest.javaeye.com"/>
</node>
</node>
</mx:XMLList>
<mx:Script>
<![CDATA[
import mx.controls.Image;
import
mx.controls.Button;
import mx.containers.Canvas;
import mx.controls.Alert;
private function addNewTabPage(event:Event):void {
var selectedNode:XML=Tree(event.target).selectedItem as XML;
var id:String=selectedNode.@id;
var label:String=selectedNode.@label;
var canvasClassName:String=selectedNode.@canvas;
if (functionTree.dataDescriptor.isBranch(selectedNode)) {
functionTree.expandItem(selectedNode,
!functionTree.isItemOpen(selectedNode));
} else{
//如果节点项为“新建计划”,则将页面切换到SHOW1状态下
if(label=="新建计划"){
currentState="show1" ;
}
}
Tree(event.target).selectedItem=null;
}
]]>
</mx:Script>
<mx:Panel width="197"
height="548" dropShadowEnabled="false" title="新闻管理" id="panel1" fontSize="26">
<mx:Tree
id="functionTree" change="addNewTabPage(event)"
width="171" height="100%" enabled="true"
showRoot="true" dataProvider="{treeData}"
labelField="@label" borderStyle="none"
fontSize="13">
</mx:Tree>
</mx:Panel>
</mx:Application>
运行结果:
当节点不为“新建计划”时,不显示SHOW1的内容
当点击“新建计划”时,显示SHOW1状态的内容
运行CssTest.mxml的内容
相关文章推荐
- Flex中如何利用树形控件(Tree Control)和SWFLoader控件创建简单图片相册的例子
- FLEX实践:各种图表的简单应用
- Java实践(二)——Applet简单应用
- 爬虫实践---悦音台mv排行榜与简单反爬虫技术应用
- Flex Tree应用总结(一)—数据源配置+选择事件
- Flex企业应用开发实践学习笔记(四)-------组件的布局
- FLEX实践—PieChart综合应用(颜色渐变、显示选中值、选中部分突出、数据钻探等)
- Flex企业应用开发实践学习笔记(七)——Flex Application
- FLEX4实践—动态生成DataGrid及应用客户化itemRenderer
- Flex RemoteObject 简单应用Demo
- flex之组件简单应用
- 交叉编译实践-交叉编译原理与简单应用
- 一个简单的flex应用
- WWW在unity中的简单应用实践
- Flex企业应用开发实践学习笔记(六)——使用ActionScript创建自定义组件
- dijit.tree的简单应用实例
- 简单是美——提升您Flex应用性能
- 建立一个最简单的项目,实践cobertura在maven中应用
- Java+Flex整合应用简单示例 (mx:RemoteObject)
- Flex RemoteObject 简单应用Demo