- 浏览: 1454546 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (564)
- 算法 (7)
- 流金岁月 (1)
- Javascript (30)
- actionscript (108)
- as3.0 game (14)
- flex (84)
- fms2 (27)
- 正则表达式 (7)
- 开源组件代码(as3.0) (1)
- Pv3d (13)
- Cairngorm (4)
- vbs (54)
- VB程序设计 (26)
- 计算机应用与维护 (4)
- 职场实用穿衣技巧 (3)
- 历史风云 (15)
- 淡泊明志,宁静致远 (12)
- 情感 (26)
- 杂谈 (41)
- 越南风 (14)
- DirectX (9)
- Dev-cpp (11)
- 回望百年 (2)
- 建站经验 (2)
- Python (24)
- 网络赚钱 (4)
- php (2)
- html (1)
- ob0短址网 (1)
- ob0.cn (1)
- wordpress (1)
- pandas logistic (1)
- haxe (1)
- opencv (1)
- 微信小程序 (3)
- vue (3)
- Flutter (1)
最新评论
-
GGGGeek:
第一个函数滚动监听不起作用,onPageScroll可以
微信小程序--搜索框滚动到顶部时悬浮 -
naomibyron:
解决办法:工具 -> 编译选项 -> 编译器 ...
dev-c++中编译含WINSOCK的代码出现错误的解决方法 -
haichuan11:
这个…… 代码不全真的是让人很憋屈的感觉啊
actionScript 3.0 图片裁剪及旋转 -
chenyw101:
老兄能留个QQ号吗?具体的我有些东西想请教下你
用VB制作网站登陆器 -
yantao1943:
貌似有点问题,只派发一次事件啊
使用ActionScript 2.0或ActionScript 3.0处理音频文件的提示点(cue
我们用AsWing 开发应用程序的时候,可以考虑用 MVC,下面我来帖一个我自己平时用的 MVC 的写法。
如果还一直对 “逻辑代码与界面代码混淆” 感到困扰的话,可以参考一下这样的写法。
大概是这样的。
有一个 View 类,这个类负责建立界面,然后界面上需要活动的组件通过 getXXX 方式向外部提供。
View 当中没有逻辑代码,对外公开的只有对需要活动的组件的访问,至于这些组件是被放置在什么位置,多大等等界面细节外部是看不到的。另一方面,界面的布局发生变化不会影响到 View 以外的类。
有一个 Model 类,这个类就是数据,同时也是一个 EventDispatcher, 当数据发生变化的时候会对外发布事件。
有一个 Controller 类,这个类有两个通道,一个通道监听界面的事件,并且把相应的数据写入 Model。另一个通道负责监听Model 的事件,把更新显示到 View 上面。
主程序是这样的:
var view:View = new View(this);
var model:Model = new Model();
var controller:Controller = new Controller();
controller.setModel(model);
controller.setView(view);
controller.start();
View 类的代码是这样的:
package example {
import org.aswing.JLabel;
import org.aswing.JButton;
import org.aswing.JTextField;
import org.aswing.JFrame;
import flash.display.DisplayObjectContainer;
import org.aswing.SoftBoxLayout;
import org.aswing.JPanel;
import org.aswing.GridLayout;
import org.aswing.border.LineBorder;
import org.aswing.Container;
import org.aswing.ASColor;
import org.aswing.border.TitledBorder;
import org.aswing.BorderLayout;
import org.aswing.FlowLayout;
public class View {
private var label:JLabel;
private var textField:JTextField;
private var btn:JButton;
public function View(owner:DisplayObjectContainer) {
this.build(owner);
}
protected function build(owner:DisplayObjectContainer) :void {
this.label = new JLabel(”No Data”);
this.textField = new JTextField();
this.btn = new JButton(”向 Model 提交”);
var frame:JFrame = new JFrame(owner, “显示界面”, true);
frame.setSizeWH(300, 200);
frame.setLocationXY(18, 18);
frame.setBackground(ASColor.WHITE);
frame.setVisible(true);
var c:Container = frame.getContentPane();
c.setLayout(new SoftBoxLayout(SoftBoxLayout.Y_AXIS, 15, SoftBoxLayout.CENTER));
var panel0:JPanel = new JPanel(new BorderLayout());
panel0.setBorder(new TitledBorder(null, “这里显示从 Model 获取的内容”, 1.0, 0.0, 0.0, 3.0));
panel0.append(this.label);
c.append(panel0);
var panel1:JPanel = new JPanel(new BorderLayout());
panel1.setBorder(new TitledBorder(null, “输入您要提交给 Model 的内容”, 1.0, 0.0, 0.0, 3.0));
panel1.append(this.textField);
c.append(panel1);
var panel2:JPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
panel2.append(this.btn);
c.append(panel2);
}
public function getLabel() :JLabel {
return this.label;
}
public function getTextField() :JTextField {
return this.textField;
}
public function getButton() :JButton {
return this.btn;
}
}
}
Model 类的代码是这样的:
package example {
import flash.events.EventDispatcher;
import flash.events.Event;
public class Model extends EventDispatcher {
private var data:String;
public function setData(src:String) :void {
if (src != data) {
this.data = src;
var event:Event = new Event(Event.CHANGE);
this.dispatchEvent(event);
} else {
//pass
}
}
public function getData() :String {
return this.data;
}
}
}
Controller 类的代码是这样的:
package example {
import flash.events.Event;
import flash.events.MouseEvent;
import org.aswing.event.AWEvent;
public class Controller {
private var model:Model;
private var view:View;
public function Controller(model:Model=null, view:View=null) {
this.setModel(model);
this.setView(view);
}
public function setModel(model:Model) :void {
this.model = model;
}
public function setView(view:View) :void {
this.view = view;
}
//start controling
public function start() :void {
var inController:InputController = new InputController(this.view, this.model);
var outControler:OutputController = new OutputController(this.view, this.model);
}
}
}
import flash.events.Event;
import example.View;
import example.Model;
import org.aswing.JLabel;
class InputController {
private var view:View;
private var model:Model;
public function InputController(view:View, model:Model) {
this.view = view;
this.model = model;
this.view.getButton().addActionListener(this.actionPerformed);
}
public function actionPerformed(e:Event) :void {
var src:String = this.view.getTextField().getText();
this.model.setData(src);
}
}
class OutputController {
private var view:View;
private var model:Model;
public function OutputController(view:View, model:Model) {
this.view = view;
this.model = model;
this.model.addEventListener(Event.CHANGE, this.actionPerformed);
}
public function actionPerformed(e:Event) :void {
var data:String = this.model.getData();
this.view.getLabel().setText(data);
}
}
发表评论
-
haXe是什么?
2016-01-04 10:50 1085haXe是什么? haXe是一种编程语言,官方网站在 ... -
用EA类图生成AS3代码
2008-10-15 16:18 2730EA(Enterprise Architect)是支持多种流 ... -
变形实例-source
2008-10-15 12:46 1562涂抹原理 橡皮擦原理 import flash.geom.P ... -
actionScript 3.0 图片裁剪及旋转
2008-10-10 12:54 5969package com.wdxc { /** ... -
Flash(AS3)读取Excel文件
2008-10-09 13:29 5193var excelXml:XML; var loader=ne ... -
AS3 Loading的制作方法
2008-10-09 13:28 6085AS2的时候做LOADING有很多种方法,做起来也得心应手可是 ... -
让"Flash" 写文件(AS3)
2008-09-11 16:23 1809目前,出于安全考虑Flash不支持写文件的操作,在AS3的A ... -
AS3 中的 拖动 及 碰撞 检测
2008-09-11 16:11 2951没有press和release事件 hitTest()被分尸 ... -
As和js通信问题完全解析(解决addcallback失效的问题)
2008-09-11 16:10 3667as和js通信最早用的是fscommand,这个我就不说了,老 ... -
Flash CS3制作Fla形式的组件
2008-06-16 14:45 1405本文为大家介绍如何制作Flash CS3中的[*.fla]形 ... -
AS3图像处理之剪裁、动态选取
2008-06-15 23:25 2263和师傅写C#写的思维混乱,方法变量几乎第一反应就是大写,习惯都 ... -
从界面入手 划分类
2008-06-15 19:25 1298如何将一个项目细化成各个类呢? 1 从一个项目的界面入手,按照 ... -
AS3-DisplayEffect组件
2008-06-14 20:40 2091[AS3]DisplayEffect组件【组件版本】:0.5【 ... -
KTooltip 工具提示组件
2008-06-14 20:38 1047发布一个小工具KTooltip 。这是0.9beta版,出发日 ... -
AS3.0写的一个滚动条【缓动效果】
2008-06-13 16:10 6402package { import flash.d ... -
一个简单的文本滚动条类 as3
2008-06-13 16:04 4404最近一直做会议与AS3有关项目今天花了点时间写了一个可以选择套 ... -
自定义滚动条类
2008-06-13 16:01 2099在平常的开发中,经常需要用到滚动条,今天将滚动条类整理了下,有 ... -
AS3加载机制
2008-06-13 15:03 2224摸了好一阵子,才弄明白AS3.0的加载机制.还是坚持自己的原则 ... -
写了一个Flash的Transition
2008-06-11 10:36 1758写了一个Flash的Transition package { ... -
JavaScript与ActionScript函数相互调用
2008-06-06 15:07 22881、在JavaScript中调用Flex( ...
相关推荐
标题中的“Flash之pureMVC,aswing框架Libs文件”指的是两个主要的ActionScript库:PureMVC和AsWing。这两个库都是为在Adobe Flash环境中开发富互联网应用程序(RIA)而设计的,尤其在Flex框架下使用广泛。下面将详细...
AsWing AEON皮肤实例是针对AsWing框架的一个特定主题,主要涉及用户界面的定制化和美化。AsWing是一款流行的Java Swing开发库,它提供了丰富的组件和强大的功能,帮助开发者构建美观、高效的桌面应用程序。Aeon皮肤...
- **开源UI库的兴起**:随着需求的增长,Flash开源社区出现了一批高质量的UI组件库,如AsWing、EnFlash和ActionStep等,这些库以其优秀的架构设计和易于使用的API迅速受到开发者的青睐。 - **ActionScript 3时代的...
这个教程的中文版旨在帮助初学者快速入门AsWing,通过一个实际的日程管理程序的开发来讲解其核心概念和组件的使用。 在教程的第一部分,"小试身手,hello 日程",作者选择了日程管理程序作为示例,因为它的界面构建...
ASwing2.0 SRC是一个针对ASwing库的源码版本,它为开发者提供了一种深入理解和定制ASwing的可能性。ASwing本身是一个ActionScript框架,它模仿了Java Swing的设计,为Flash和Flex应用提供了丰富的组件库,使得在这些...
【AsWing UI源码】是一个面向AS3(ActionScript 3)开发者的UI库,提供了丰富的用户界面组件和工具,旨在简化AS3中的图形用户界面(GUI)开发。这个库不仅包含了完整的源代码,还附带了GUI编辑器,方便开发者设计和...
Aswing皮肤制作是一个让初学者了解和掌握如何定制个性化用户界面的过程。Aswing是一个轻量级的图形用户界面(GUI)库,它为Java开发者提供了一种创建美观、交互式的应用界面的方式。在这个教程中,我们将深入探讨...
### aswing组件知识点详解 ...AsWing提供了一系列强大的工具和组件,帮助开发者构建功能丰富、用户友好的应用程序。通过灵活运用这些组件,可以大大简化GUI应用程序的开发过程,并提高最终产品的质量。
aswing API,与AsWing Book.pdf一起使用
在实际开发过程中,开发者首先需要集成AsWing和PureMVC的库文件,然后按照框架的约定创建游戏的各个组件和模块。通过PureMVC的命令和观察者模式,可以轻松实现游戏状态的改变和事件的响应。同时,利用AsWing提供的UI...
5. **MVC模式**:ASwing鼓励采用Model-View-Controller(MVC)设计模式,将业务逻辑、视图展示和用户交互解耦,提高代码的可重用性和可维护性。 6. **国际化支持**:ASwing支持多语言环境,开发者可以轻松地为应用...
ASwing包是专门为在Flash9环境下使用ActionScript 3.0(AS3.0)进行编程设计的一个辅助工具集。这个工具集旨在提供一个类似Java...通过深入研究和使用ASwing,不仅可以提升开发效率,还能增强对AS3.0特性的理解和掌握。
ASwing可能是一个基于Java Swing的开源图形用户界面(GUI)框架,A3可能是该框架的一个子项目或组件,而1.3.2则是这个版本的编号,通常表示这是一个更新和改进的版本,相比于之前的版本可能修复了某些问题,增加了新...
ASWing基于Java Swing,因此它遵循MVC(模型-视图-控制器)架构,提供了一套丰富的组件库,可以创建复杂的桌面应用程序。在ASWing中实现拖放,你需要理解组件、事件监听器和拖放相关的API。 1. **拖放API**:在...
AsWing Book.pdfAsWing Book.pdfAsWing Book.pdfAsWing Book.pdf
根据提供的信息,我们可以总结出以下关于asWing的知识点: ### 1. JPanel与AsWing容器 ...这些知识点涵盖了从基础组件到高级功能的各个方面,对于理解和应用asWing进行图形用户界面开发非常有帮助。
aswing类库的下载,可以让大家使用现成的布局来显示对象很简单很方便
AS3的aswing帮助文档! AS3的程序员必备物品。。详细的介绍哦
AsWing是一款基于ActionScript 3 (AS3)的轻量级UI框架,它为开发者提供了构建富媒体应用和游戏的界面工具。本实例聚焦于使用AsWing创建登录和注册界面,这是一个常见的应用场景,特别是在Web和桌面应用程序中。下面...
AsWing框架的设计主要基于MVC(模型-视图-控制器)模式,这种模式在软件工程中被广泛用于分离业务逻辑和用户界面。在AsWing中,模型负责处理数据,视图负责显示数据,而控制器则负责处理用户交互事件,实现三者之间...