环境准备
说白了AsWing就是一套用AS3写成的类库,所以只要有编译AS3程序的环境,就能使用AsWing。
从编译环境来说基本就是2种,一个是Flash CS3,另一个就是 flex sdk。开发工具就很多了,官方的有 FlashCS3,Flex Builder(推荐用FB3),或者使用开源的FlashDevelop(支持使用flash和flex sdk编译),甚至手动调用mxmlc编译。
有了开发环境,那么我们就要下载AsWing开发包,并且配置我们的开发工具。
可以到 http://code.google.com/p/aswing/downloads/list 下载AsWing开发包。
找到 aswing_a3_1.2_fx.zip 或 aswing_a3_1.2_fl.zip 其中 1.2 表示版本号,一般下载最新的就行。后面的 fx 或 fl 代表适合的编译环境。一般如果用flex sdk的话就下载fx结尾的包。用flashCS3的话就下载fl结尾的。
当然你也可以通过svn客户端取出最新的AsWing代码,具体方法就不再赘述了,svn地址见:http://www.aswing.org/?page_id=4 。
下面具体介绍下在FlexBuilder3和FlashCS3中的配置方法。其他工具雷同。本人使用Windows操作系统,其他系统下的操作方式基本一致。
FlexBuilder3:
将压缩包解压后,找到里面的aswing_a3_1.2.zip,解压,将 AsWingA3/bin 目录中的 AsWingA3.swc 复制到你存放AS代码库的目录。比如我将其放在 E:/AS3 目录中。然后再FB3中新建一个ActionScript项目,右键该项目打开项目属性窗口,选择ActionScript Build Path,然后切换到 Library path,点击 Add SWC… 浏览到刚才复制的那个文件,按照我刚才存放的路径就是 E:/AS3/AsWingA3.swc,然后点击OK即可。
Flash CS3
同样先解压然后找到aswing_a3_1.2.zip并解压,由于Flash IDE不支持使用纯AS打包的SWC作为编译库路径,所以我们先将AsWingA3整个目录复制到所需位置,如 E:/AS3。
然 后打开Flash CS3,点击菜单栏中的 编辑 并打开 首选参数窗口点击左边列表中的ActionScript,然后点下方的 ActionScript 3.0 设置… 打开类路径设置窗口,将AsWing的src目录添加进去,按照我的文件路径就是将 E:\AS3\AsWingA3\src 这个路径添加进去,然后点确定就可以了。
P.S.当然FB3也可以使用目录作为编译路径,就是在Library path 旁的 Source path中添加一个 AsWing的src目录。
第一个例子-Hello World!
FB中在刚才建的ActionScript项目中新建一个ActionScript class文件,输入下面的代码。
package {
import flash.display.Sprite;
import org.aswing.AsWingManager;
import org.aswing.FlowLayout;
import org.aswing.JButton;
import org.aswing.JFrame;
import org.aswing.JOptionPane;
import org.aswing.event.AWEvent;
public class HelloAsWing extends Sprite {
private var myFrame:JFrame;
private var myButton:JButton;
public function HelloAsWing() {
AsWingManager.initAsStandard(this);
myButton = new JButton("Click Me");
myButton.addActionListener(__buttonClicked);
myFrame = new JFrame(this, "My Frame");
myFrame.getContentPane().setLayout(new FlowLayout());
myFrame.getContentPane().append(myButton);
myFrame.setSizeWH(300, 200);
myFrame.show();
}
private function __buttonClicked(e:AWEvent):void {
JOptionPane.showMessageDialog("Hello", "Hello, World!");
}
}
}
如果是使用Flash CS3,可以先新建一个ActionScript文件,输入代码后,保存为HelloAsWing.as,然后新建一个Flash (ActionScript3.0)文件,将该fla文件保存在与HelloAsWing.as的同一级目录中,然后将fla的文档类设置为 HelloAsWing。
实例详细分析
使用AsWing,主程序不需要基于任何应用程序框架,AsWing的UI组件都从flash原生的Sprite扩展而来,所以几乎每一个AsWing组件都能被单独放到DisplayObjectContainer中并能正常使用。
我们的主程序仅需继承Sprite即可,下面分析一下构造函数中的代码。
AsWingManager.initAsStandard(this);
建议在使用AsWing程序之前先调用这个方法,该方法封装了一些常用功能,调用了AsWingManager的setRoot方法,用于设置容纳AsWing组件的容器,这里的this就代表了当前AsWing组件的root。另外还会设置一些系统参数,如 align,scaleMode等。
myButton = new JButton("Click Me");
myButton.addActionListener(__buttonClicked);
JButton 是AsWing中基本的按钮组件,这里新建了一个JButton实例,并设置按钮的Label,第二句代码给按钮添加一个事件监听,当点击按钮后就会触发,这里的addActionListener是AsWing设计成简化了事件监听的写法,当然也可以写成这样 myButton.addEventListener(AWEvent.ACT, __buttonClicked);。
AwEvent是AsWing中最基本的事件类,ACT事件类型表示一些基本组件的触发事件类型,如JButton的鼠标点击事件,JTextField的回车事件等。这里按钮点击后就会执行 __buttonClicked 事件处理函数,函数中代码稍后讨论。
myFrame = new JFrame(this, "My Frame");
myFrame.getContentPane().setLayout(new FlowLayout());
myFrame.getContentPane().append(myButton);
JFrame是常用的窗口组件,有类似操作系统窗口的基本特性,如最小/大化,关闭,缩放,拖动能功能。JFrame的第一个参数指示该窗口所在的容器,第二个参数设置窗口头部的label(即title)。
getContentPane()方法获取JFrame容纳其他组件的容器,向JFrame中添加组件记得不要直接调用JFrame的append方法,JFrame 真正容纳其他组件的不是本身,而是其内部的一个容器,用getContentPane()方法获取。
每个容器排列组件的方式都由Layout控制,setLayout就是设置容器的布局方式,关于布局请参考《AsWing布局管理入门》。
然后就是调用容器的append方法将刚才的按钮加入到JFrame的容器中。
myFrame.setSizeWH(300, 200);
myFrame.show();
这两句代码就比较简单了,设置JFrame的尺寸,并让JFrame显示出来。可能你发现没有使用addChild方法,没关系,JFrame继承 JPopup,所有基于JPopup的组件,AsWing都会自动替你添加到DisplayList中,调用show() 方法就可以设置为可见。
下面看下很简单的事件处理函数
private function __buttonClicked(e:AWEvent):void {
JOptionPane.showMessageDialog("Hello", "Hello, World!");
}
JOptionPane是一个类似Alert的组件,showMessageDialog() 方法即显示一个消息框,第一个参数为消息框的title,第二个参数设置消息内容的字符。
结束语
如今基于flashplayer的RIA技术非常流行,要开发这样的应用程序就免不了会用到与用户交互的UI组件,AsWing正是这样一套强大的组件 库,提供了常用的基本组件,开发者也可能很容易扩展出自己特制的组件。AsWing的灵活使得开发者不会被特定的条件约束,你可以在整个项目中完全使用 AsWing作为GUI交换组件,也可以仅把AsWing的某一个组件用在你的项目中,帮助你快速的得到所需的UI界面。
AsWing的开发者还在不断的改进AsWing,使其更强大,易用。
本文仅介绍了最基本的AsWing使用,其更多强大的性能正等着你来发掘,请参考其他AsWing相关教程。
下载资源
AsWing 下载列表 http://code.google.com/p/aswing/downloads/list
官方下载页,包括svn代码库地址 http://www.aswing.org/?page_id=4
参考资料
AsWing 官方网站 http://www.aswing.org/
API 文档 http://doc.aswing.org/a3/
案例展示 http://www.aswing.org/?page_id=7
分享到:
相关推荐
AsWing 入门教程1.1 chm 很实用的教程,有实例,初学者一看便懂。适合入门
用实例讲述aswing的入门,用一个日程管理的例子,详细的讲述了aswing的开发过程,注意从Google下载aswing源代码的时候下载1.0的swc就可以了,flex环境
AsWing AEON皮肤实例是针对AsWing框架的一个特定主题,主要涉及用户界面的定制化和美化。AsWing是一款流行的Java Swing开发库,它提供了丰富的组件和强大的功能,帮助开发者构建美观、高效的桌面应用程序。Aeon皮肤...
这个教程的中文版旨在帮助初学者快速入门AsWing,通过一个实际的日程管理程序的开发来讲解其核心概念和组件的使用。 在教程的第一部分,"小试身手,hello 日程",作者选择了日程管理程序作为示例,因为它的界面构建...
- **AsWing入门教程**:提供AsWing框架的基础知识,包括安装配置、基本用法等,适合初学者快速上手。 #### 5. 社区愿景 - **未来展望**:随着技术的不断发展和社区成员的努力,AS3天地会有望成为中国RIA技术领域的...
ASwing2.0 SRC是一个针对ASwing库的源码版本,它为开发者提供了一种深入理解和定制ASwing的可能性。ASwing本身是一个ActionScript框架,它模仿了Java Swing的设计,为Flash和Flex应用提供了丰富的组件库,使得在这些...
aswing API,与AsWing Book.pdf一起使用
### ASWING教程知识点概述 #### 1. 引言:构建用户界面的新方式 - **背景介绍**:随着RIA技术的不断成熟和发展,构建用户界面的方法越来越多。早期使用ActionScript 1.0时,几乎所有的界面元素都需要通过Flash IDE...
### aswing组件知识点详解 #### 1. JPanel与透明度设置 `JPanel`作为Swing中的一个容器组件,主要用于组织其他组件,并提供布局管理功能。在AsWing框架中,用户可以设置`JPanel`的透明度。通过调用`setOpaque(false...
aswing的jar包,新手入门
【AsWing UI源码】是一个面向AS3(ActionScript 3)开发者的UI库,提供了丰富的用户界面组件和工具,旨在简化AS3中的图形用户界面(GUI)开发。这个库不仅包含了完整的源代码,还附带了GUI编辑器,方便开发者设计和...
Aswing皮肤制作是一个让初学者了解和掌握如何定制个性化用户界面的过程。Aswing是一个轻量级的图形用户界面(GUI)库,它为Java开发者提供了一种创建美观、交互式的应用界面的方式。在这个教程中,我们将深入探讨...
AsWing Book.pdfAsWing Book.pdfAsWing Book.pdfAsWing Book.pdf
aswing类库的下载,可以让大家使用现成的布局来显示对象很简单很方便
"aswing_a3_1.3.2_allinone" 是一个特定的软件包或库的版本标识,其中包含了ASwing、A3以及1.3.2这些关键元素。ASwing可能是一个基于Java Swing的开源图形用户界面(GUI)框架,A3可能是该框架的一个子项目或组件,...
根据提供的信息,我们可以总结出以下关于asWing的知识点: ### 1. JPanel与AsWing容器 - **JPanel**:在AsWing中,`JPanel`扮演着一个非常重要的角色,作为容器组件,它能够容纳其他GUI组件。在设置`JPanel`时,...
标题中的“Flash之pureMVC,aswing框架Libs文件”指的是两个主要的ActionScript库:PureMVC和AsWing。这两个库都是为在Adobe Flash环境中开发富互联网应用程序(RIA)而设计的,尤其在Flex框架下使用广泛。下面将详细...
AS3的aswing帮助文档! AS3的程序员必备物品。。详细的介绍哦
ASwing包是专门为在Flash9环境下使用ActionScript 3.0(AS3.0)进行编程设计的一个辅助工具集。这个工具集旨在提供一个类似Java Swing的开发框架,使得AS3.0的开发者能够更加方便地创建复杂的交互式应用程序。在...
AsWing 2.0在12月12日发布了,增加了一些新的组件,如:JStepper(数字歩进器)、JDataChooser(日期选择器)、JAdvancedTable(高级表格,还未开发),全新的默认组件外观。新的外观自定义方式。 包内有源代码和SWC包。