- 浏览: 391898 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (196)
- window编程 (18)
- FLEX (37)
- 数据库 (5)
- Java---Struts2 (8)
- Window相关知识 (4)
- 网站建设相关知识 (2)
- java基础知识 (6)
- C# (8)
- 虚拟化 (3)
- 服务器--sound server (1)
- 网络协议 (5)
- Linux (21)
- linux-命令 (3)
- Windows-2008R2 (1)
- VBScript,异常处理 (1)
- windows域 (1)
- 弦歌不辍 (1)
- 语言---c++ (16)
- MFS (1)
- grub (1)
- 技术介绍 (3)
- 百度之星 (5)
- Web服务 (1)
- 存储管理 (2)
- NoSQL (3)
- plymouth (1)
- 工具 (1)
- 云计算 (1)
- 嵌入式 (1)
- usbip (1)
最新评论
-
canghailan:
C++中能直接操作的最大位数64,每64位统计,最后相加,暂时 ...
判断一段内存是否全部为0 -
yiranwuqing:
canghailan 写道Hamming weight 算法应 ...
判断一段内存是否全部为0 -
canghailan:
Hamming weight 算法应该效率更高
判断一段内存是否全部为0 -
zoufangyingzi:
楼主都用了哪些jar包,压缩包中没有lib包///
Rest实例演示 -
zpz112358:
具体是什么意思啊?
flex blazed 配置多个remoting-config
在panel的titleBar上添加按钮,首先 override createChildren方法, 其中加入panel.rawChildren.addChild(Button),然后override panel的layoutChrome方法定置按钮的位置。
例子如下:
package{
import mx.containers.Panel;
import mx.controls.Button;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.DisplayObject;
import mx.effects.Resize;
import mx.controls.Alert;
import mx.controls.Label;
[Event(name="restore")]
[Event(name="maximize")]
public class FlexPanel extends Panel{
private var state:int = 0;
private var restoreBtn: Button;
private var minBtn: Button;
private var closeBtn: Button;
[Embed("../assets/minICON.png")] // 这里我自定义了按钮外观
private var minIcon:Class;
[Embed("../assets/minOverICON.png")]
private var minOverIcon:Class;
[Embed("../assets/restoreICON.png")]
private var restoreIcon:Class;
[Embed("../assets/restoreOverICON.png")]
private var restoreOverIcon:Class;
[Embed("../assets/closeICON.png")]
private var closeIcon:Class;
[Embed("../assets/closeOverICON.png")]
private var closeOverIcon:Class;
private var resize: Resize;
private var effectTime: Number = 400;
private static var _instance: FlexPanel;
public function FlexPanel(){
super();
_instance = this;
}
public override function initialize():void{
super.initialize();
this.maxHeight = this.height;
initEffect();
}
private function setState(state:int):void{
this.state=state;
if (state==0){
this.dispatchEvent(new Event('restore'));
} else {
this.dispatchEvent(new Event('maximize'));
}
}
/* ************************************************* */
protected override function createChildren(): void {
super.createChildren();
this.titleBar.addEventListener(MouseEvent.MOUSE_DOWN, doDrag);
this.titleBar.addEventListener(MouseEvent.MOUSE_UP, doDrop);
restoreBtn = new Button();
restoreBtn.addEventListener("click",doRestore);
restoreBtn.setStyle("overIcon",restoreOverIcon);
restoreBtn.setStyle("downIcon",restoreIcon);
restoreBtn.setStyle("upIcon",restoreIcon);
restoreBtn.visible=false;
rawChildren.addChild(restoreBtn);
minBtn = new Button();
minBtn.addEventListener("click",doMin);
minBtn.setStyle("overIcon",minOverIcon);
minBtn.setStyle("downIcon",minIcon);
minBtn.setStyle("upIcon",minIcon);
minBtn.visible = true;
rawChildren.addChild(minBtn);
closeBtn = new Button();
closeBtn.addEventListener("click",doClose);
closeBtn.setStyle("overIcon",closeOverIcon);
closeBtn.setStyle("downIcon",closeIcon);
closeBtn.setStyle("upIcon",closeIcon);
closeBtn.visible = true;
rawChildren.addChild(closeBtn);
}
/* ************************************************** */
protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
super.updateDisplayList(unscaledWidth, unscaledHeight);
}
private function doMin(event:Event):void{
setState(1);
minBtn.visible= false;
restoreBtn.visible= true;
minEffect();
//Alert.show(this.verticalScrollBar.toString());
}
private function doRestore(event:Event) :void{
setState(0);
minBtn.visible= true;
restoreBtn.visible= false;
restoreEffect();
}
private function doClose(event:Event) :void{
this.visible = false;
this.parent.removeChild(this);
}
private function doDrag(event:Event):void{
this.startDrag();
}
private function doDrop(event:Event):void{
this.stopDrag();
}
/* ********************************************************************************* */
protected override function layoutChrome(unscaledWidth: Number, unscaledHeight:Number):void {
super.layoutChrome(unscaledWidth, unscaledHeight);
var margin:int = 0;
var pixelsFromTop:int = 6;
var pixelsFromRight:int = 12;
var buttonWidth:int = 18;
var buttonHeight:int = 17;
var distance:int = 7;
var x:Number = this.width - buttonWidth*2 - distance - pixelsFromRight;
var y:Number = pixelsFromTop;
restoreBtn.setActualSize(buttonWidth, buttonHeight);
restoreBtn.move(x,y);
minBtn.setActualSize(buttonWidth, buttonHeight);
minBtn.move(x,y);
closeBtn.setActualSize(buttonWidth, buttonHeight);
closeBtn.move(this.width - buttonWidth - pixelsFromRight,y);
}
/* ********************************************************************************* */
private function initEffect():void{
resize = new Resize(_instance);
resize.heightTo = this.titleBar.height;
resize.duration = effectTime;
}
private function minEffect():void{
resize.heightTo = this.titleBar.height;
resize.end();
resize.play();
}
private function restoreEffect():void{
resize.heightTo = this.maxHeight;
resize.end();
resize.play();
}
}
}
看到这么长的代码不要觉得可怕,这是我自己用的panel,懒得简化了干脆直接把代码全帖出来,你只需要注意开带*号的地方就可以了
http://www.cnblogs.com/GFantasy/archive/2010/03/05/1678917.html
例子如下:
package{
import mx.containers.Panel;
import mx.controls.Button;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.DisplayObject;
import mx.effects.Resize;
import mx.controls.Alert;
import mx.controls.Label;
[Event(name="restore")]
[Event(name="maximize")]
public class FlexPanel extends Panel{
private var state:int = 0;
private var restoreBtn: Button;
private var minBtn: Button;
private var closeBtn: Button;
[Embed("../assets/minICON.png")] // 这里我自定义了按钮外观
private var minIcon:Class;
[Embed("../assets/minOverICON.png")]
private var minOverIcon:Class;
[Embed("../assets/restoreICON.png")]
private var restoreIcon:Class;
[Embed("../assets/restoreOverICON.png")]
private var restoreOverIcon:Class;
[Embed("../assets/closeICON.png")]
private var closeIcon:Class;
[Embed("../assets/closeOverICON.png")]
private var closeOverIcon:Class;
private var resize: Resize;
private var effectTime: Number = 400;
private static var _instance: FlexPanel;
public function FlexPanel(){
super();
_instance = this;
}
public override function initialize():void{
super.initialize();
this.maxHeight = this.height;
initEffect();
}
private function setState(state:int):void{
this.state=state;
if (state==0){
this.dispatchEvent(new Event('restore'));
} else {
this.dispatchEvent(new Event('maximize'));
}
}
/* ************************************************* */
protected override function createChildren(): void {
super.createChildren();
this.titleBar.addEventListener(MouseEvent.MOUSE_DOWN, doDrag);
this.titleBar.addEventListener(MouseEvent.MOUSE_UP, doDrop);
restoreBtn = new Button();
restoreBtn.addEventListener("click",doRestore);
restoreBtn.setStyle("overIcon",restoreOverIcon);
restoreBtn.setStyle("downIcon",restoreIcon);
restoreBtn.setStyle("upIcon",restoreIcon);
restoreBtn.visible=false;
rawChildren.addChild(restoreBtn);
minBtn = new Button();
minBtn.addEventListener("click",doMin);
minBtn.setStyle("overIcon",minOverIcon);
minBtn.setStyle("downIcon",minIcon);
minBtn.setStyle("upIcon",minIcon);
minBtn.visible = true;
rawChildren.addChild(minBtn);
closeBtn = new Button();
closeBtn.addEventListener("click",doClose);
closeBtn.setStyle("overIcon",closeOverIcon);
closeBtn.setStyle("downIcon",closeIcon);
closeBtn.setStyle("upIcon",closeIcon);
closeBtn.visible = true;
rawChildren.addChild(closeBtn);
}
/* ************************************************** */
protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
super.updateDisplayList(unscaledWidth, unscaledHeight);
}
private function doMin(event:Event):void{
setState(1);
minBtn.visible= false;
restoreBtn.visible= true;
minEffect();
//Alert.show(this.verticalScrollBar.toString());
}
private function doRestore(event:Event) :void{
setState(0);
minBtn.visible= true;
restoreBtn.visible= false;
restoreEffect();
}
private function doClose(event:Event) :void{
this.visible = false;
this.parent.removeChild(this);
}
private function doDrag(event:Event):void{
this.startDrag();
}
private function doDrop(event:Event):void{
this.stopDrag();
}
/* ********************************************************************************* */
protected override function layoutChrome(unscaledWidth: Number, unscaledHeight:Number):void {
super.layoutChrome(unscaledWidth, unscaledHeight);
var margin:int = 0;
var pixelsFromTop:int = 6;
var pixelsFromRight:int = 12;
var buttonWidth:int = 18;
var buttonHeight:int = 17;
var distance:int = 7;
var x:Number = this.width - buttonWidth*2 - distance - pixelsFromRight;
var y:Number = pixelsFromTop;
restoreBtn.setActualSize(buttonWidth, buttonHeight);
restoreBtn.move(x,y);
minBtn.setActualSize(buttonWidth, buttonHeight);
minBtn.move(x,y);
closeBtn.setActualSize(buttonWidth, buttonHeight);
closeBtn.move(this.width - buttonWidth - pixelsFromRight,y);
}
/* ********************************************************************************* */
private function initEffect():void{
resize = new Resize(_instance);
resize.heightTo = this.titleBar.height;
resize.duration = effectTime;
}
private function minEffect():void{
resize.heightTo = this.titleBar.height;
resize.end();
resize.play();
}
private function restoreEffect():void{
resize.heightTo = this.maxHeight;
resize.end();
resize.play();
}
}
}
看到这么长的代码不要觉得可怕,这是我自己用的panel,懒得简化了干脆直接把代码全帖出来,你只需要注意开带*号的地方就可以了
http://www.cnblogs.com/GFantasy/archive/2010/03/05/1678917.html
发表评论
-
flex使用amchart的破解水印方法
2010-12-23 10:18 2827需要继承AmChart的类,将宽、高、透明度设成0,例如: ... -
FLEX习作:图片轮播(18种过渡效果随机应用)
2010-08-29 00:51 2360主文件imgshow.mxml: 引用 <?xml v ... -
AS3及Flex的百条常用知识
2010-08-27 17:38 1563【自动大小调整和对齐】 TextField.autoSize ... -
flex blazed 配置多个remoting-config
2010-08-22 17:37 2236我把配置贴出来,大家如果有类似需求可以参考下: remoti ... -
flex chart网站
2010-08-22 12:25 1875http://examples.adobe.com/flex2 ... -
FLEX:TypeError: Error #1034解决
2010-07-25 15:17 1690LEX:TypeError: Error #1034: 強制轉 ... -
页面跳转问题
2010-07-25 15:15 987其实对于这个题目是不恰当的,因为flex中是没有页面这个概念的 ... -
AIR的绿化
2010-07-25 14:35 771http://hi.baidu.com/fsnhf/blog/ ... -
flex中扩展combobox功能
2010-07-23 22:54 1346近段时间在忙flex的东西,边学习边使用。里边有个ComboB ... -
Flex调用Webservice时可能产生的所有错误,监控哪些错误
2010-07-22 22:22 2339判断web服务是否没有方法,是否路径错误,是否编码错误,是否解 ... -
flex Webservice 有哪些事件可监控
2010-07-22 21:25 1145private var webserviceURL:WebSe ... -
Flex跨域调用Webservice问题
2010-07-22 18:05 1964最近在用Flex做一个项目,在本机调试一切正常,传到服务器上之 ... -
Flex 字体使用
2010-07-20 22:36 1312Flex 支持的True Type和Open Type类型的字 ... -
个人总结flex各种用法
2010-07-20 22:29 1702多篇日志总结的,非原创,但为了更多人看这篇不错的日志,设置为原 ... -
Flex 平铺背景图片
2010-07-20 21:54 2149package { import flash.geom.Rec ... -
使用flex的session
2010-07-20 21:48 9941.写 session mxml 文件 加 <mx ... -
Flex控制session方法
2010-07-20 21:48 1602采用filter 监控 MessageBrokerServle ... -
Flex DataGrid 内联 itemRenderer
2010-07-20 14:51 2508dp.itemUpdated(event.data," ... -
LocalConnection实现swf与swf之间通信
2010-07-19 22:40 3202LocalConnection可以实现swf与swf之间的通信 ... -
对于FLex中有些服务器不可达解决
2010-07-18 12:23 862在Flash安全模型限制作出插座连接到任何服务器不明确允许这样 ...
相关推荐
1. **仅响应Panel事件**:在`Panel`内部的`Button`上添加了事件处理器`buttonClickHandler`,并通过`useCapture=true`设置在捕获阶段监听事件。因此,点击按钮时,`Panel`的事件处理器将被执行,而按钮自身的处理器...
这段代码将在按钮上设置工具提示,当鼠标悬停在按钮上时,会显示“这是一个示例按钮”。 **2. 处理换行** 如果工具提示的文本过长,可以通过添加`\n`(ActionScript中)或` `(MXML中)来实现换行。例如: ``...
在Flex框架中,延迟加载主要应用于组件的渲染和资源的加载上。例如,当一个Flex应用程序包含大量组件时,如果所有组件都在启动时加载并渲染,这将大大增加初始加载时间。通过采用延迟加载技术,可以让不立即可见或...
下面的示例展示了如何在一个简单的Flex应用中使用Flex-AjaxBridge技术与JavaScript进行交互。 ##### Flex端代码(main.mxml): ```xml <mx:Application xmlns:mx=...
{ text: '标题', dataIndex: 'title', flex: 2 }, { text: '发布时间', dataIndex: 'posttime', flex: 1 } ], dockedItems: [ // 定义停靠项 { xtype: 'pagingtoolbar', // 分页工具栏 store: store, // 绑定...
在 Flex 3 中,你可以通过调用静态方法 `Alert.show()` 来显示一个 `Alert` 对话框。例如: ```xml <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import mx.controls....
除了布局容器外,Flex还提供了专门用于导航的容器,如Accordion和TabNavigator等,这些容器可以方便地在多个子容器之间进行切换。 #### 总结 容器在Flex开发中扮演着非常重要的角色,它们不仅能够组织和布局UI元素...
Canvas 是 Flex 中一个非常基础且重要的布局容器,它允许开发者通过精确控制子元素的位置来构建界面。Canvas 容器本身定义了一个矩形区域,可以在此区域内放置其他容器或控件。与大多数其他容器不同,Canvas 不会...
<mx:Panel layout="vertical" title="Enter Customer Information"> <mx:Form backgroundColor="white"> <mx:FormItem label="First Name"> <mx:TextInput id="firstName" width="150"/> </mx:FormItem> <mx:Form...
以上代码创建了一个包含三列(Name, Email, Phone)的Grid,并将其渲染到页面上。 在学习ExtJS控件时,理解这些基本组件的使用方法至关重要,因为它们构成了构建复杂应用的基础。无论是弹框用于用户交互,还是表格...
下面将逐步介绍如何在Flex环境中创建一个基本的登录界面。 **步骤 1:创建Flex项目** 1. 打开开发工具(例如Adobe Flash Builder),选择“文件” → “新建” → “Flex项目”命令。 2. 在出现的“新建Flex项目”...
本文档是基于阿树对Adobe Flex UI组件库的全面整理,并结合Adobe主页上提供的各种组件代码示例进行深度解析。Flex是一种用于构建高度交互式的Web应用的框架,尤其适用于创建丰富的互联网应用程序(RIA)。它包含了一...
- 在Flex中,应用容器通过`<mx:Application>`标记进行定义,该标记必须是MXML文件的第一个标记。 - `<mx:Application>`不仅充当容器的角色,还作为该文件中所有ActionScript代码的默认作用域,并定义了应用程序的...
例如,在一个相册应用中,当用户鼠标悬停在一张图片上时,系统可以显示与该图片相关的信息(如拍摄时间、地点等),而当鼠标移开时,这些额外信息消失,仅保留图片本身。这就是视图状态的一个典型应用场景。 #### ...