• 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)所决定的。


  • 相关阅读:
    linux gcc安装
    重装win7后如何恢复ubuntu引导
    Eclipse搭建Android开发环境(安装ADT,Android4.4.2)
    mysql变量使用总结
    最快得到MYSQL两个表的差集
    mysqldb
    更改时间 (时分秒)
    使用命令转移文件
    报喜啦~过了!
    Jmeter接口测试示例
  • 原文地址:https://www.cnblogs.com/fxair/p/1669982.html
Copyright © 2020-2023  润新知