AsWing 入门教程 1.2 创建框架

AsWing当中的顶层窗口(即那些没有包含在其它窗口当中的窗口)被称作框架(JFrame)。他从JWindow扩展而来,是少数几个不绘制在画布上的AsWing组件之一。


注意

大部分AsWing组件类的名字都已“J”开头,如JButton、JFrame等等。


框架是一种容器。这意味着一个框架可以容纳按钮、文本域登其它用户界面组件。本节中,我们要研究AsWing JFrame 的常规用法。

例1.1-1是一个简单的程序,它在屏幕上显示一个空的框架,如图1.1-1所示。

(图1-1 )

例1.1-1:SimpleFrameTest

package

{

import flash.display.Sprite;

import org.aswing.AsWingManager;

import org.aswing.JFrame;

public class SimpleFrameTest extends Sprite

{

public function SimpleFrameTest()

{

AsWingManager.initAsStandard(this);

var frame:SimpleFrame = new SimpleFrame();

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

frame.show();

}

}

}

import org.aswing.JFrame;

class SimpleFrame extends JFrame

{

public function SimpleFrame()

{

this.setSizeWH(DEFAULT_WIDTH, DEFAULT_HEIGHT);

}

public static const DEFAULT_WIDTH:uint = 300;

public static const DEFAULT_HEIGHT:uint = 200;

}

下面我们逐行研究这个程序。


AsWing被放在org.aswing包中。这不是AS3.0的核心层次的一部分,而是一个第三方扩展。

默认情况下,框架的尺寸和其它组件一样是没有意义的0×0像素。我们定义了子类 SimpleFrame,它的构造器把框架的大小设为300×200像素。在SimpleFrameTest的构造函数当中(注意,Flex项目的程序入口不再是MTASC时代的main函数,而是Sprite的构造函数),我们从构造一个SimpleFrame对象开始。

接着,我们定义了用户关闭框架时的响应动作。对本程序而言,我们只是简单地销毁该框架。选择该行为的语句是:
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

因为A3的DisplayObject可以remove了然后再add,所以Dispose了之后也可以再show而不用重新创建元件。所以默认情况下,当用户关闭一个框架的时候,框架就会被销毁(Dispose),你也可以通过设置此属性为JFrame.HIDE_ON_CLOSE或者JFrame.DO_NOTHING_ON_CLOSE让框架在被点击关闭按钮时隐藏或者什么都不做。

简单地构造一个框架并不能显示它。框架在建立时是不可见的。这使得程序员有机会在框架初次显示前为其添加一些组件。为了显示框架,我们需要调用框架的show方法。


笔记

JFrame 类继承了超类 JPopup 当中的 show 方法。在内部实现上show方法是直接调用了setVisible(true),你也可以通过调用setVisible(true)来显示框架,效果是一样的。

对于普通组件,默认是visible=true的,所以通常不用再调用setVisible(true)


图1.1-1展示的是一个运行中的程序——只有一个很枯燥的顶层窗口。在图中可以看到,标题栏和外框修饰部件,比如大小化按钮。他们的样式都是由特定的主题(LookAndFeel)所决定的。


原文地址:https://www.cnblogs.com/fxair/p/1669982.html