AsWing中JFrame的简单应用

想做一个较为简单的聊天界面,用到了AsWing,发现AsWing不是一会就能掌握的东东。E文好的相对较快点吧。最后效果如下:

整体就3个组件,分别是JFrame,JTextArea,JTextInput。代码如下:

  1. package  
  2. {
  3.    
  4.     import flash.display.Sprite;
  5.     import org.aswing.JComboBox;
  6.     import org.aswing.JTextArea;
  7.     import org.aswing.UIManager;
  8.     import org.aswing.ppzhao.PPZhaoFrameIcon;
  9.     import org.aswing.ppzhao.PPZhaoLAF;
  10.     import org.aswing.AsWingManager;
  11.     import org.aswing.BorderLayout;
  12.     import org.aswing.Container;
  13.     import org.aswing.FlowLayout;
  14.     import org.aswing.JFrame;
  15.     import org.aswing.JPanel;
  16.     /**
  17.     * ...
  18.     * @author DefaultUser (Tools -> Custom Arguments...)
  19.     */
  20.     public class ChatFrame extends Sprite
  21.     {
  22.         public var f:JFrame;
  23.         public var p:JTextArea;
  24.         public function ChatFrame() 
  25.         {
  26.         UIManager.setLookAndFeel(new PPZhaoLAF());
  27.         super();
  28.         AsWingManager.initAsStandard(f);
  29.         init();
  30.         }
  31.     
  32.         private function init():void {
  33.             //布局模式BorderLayout
  34.             f = new JFrame(this"聊天框");
  35.             f.setSizeWH(540400);
  36.             var c:Container = f.getContentPane();
  37.             p = new JTextArea();
  38.             c.append(p, BorderLayout.CENTER);
  39.             var buttonPanel:JPanel = new JPanel(new FlowLayout());          
  40.             var undoBtn:JComboBox = new JComboBox();
  41.             var a:Array = [10,20,30];
  42.             undoBtn.setListData(a);
  43.             undoBtn.setEditable(true);
  44.             c.append(undoBtn, BorderLayout.SOUTH);
  45.             f.show();
  46.             f.setClosable(false);
  47.             
  48.         }
  49.         
  50.     }
  51.     
  52. }
  53. //以下为JFrame的常用属性:
  54. /*
  55. (一) JFrame 的常用设置
  56. frame.setIcon(null);  // 把图标设为空的,也可以把null改为其他自定义的Icon
  57. frame.setTitle("Hello!");  //更改新的标题文字
  58. frame.setSizeWH(300,200); //设置新的大小 宽和高
  59. frame.setLocationXY(80,50); //设置坐标X,Y
  60. frame.setClosable(true);  //设置窗口是否能够关闭,如果取值False 则关闭图标不显示。
  61. frame.setResizable(true);  //设置窗口是否能够调整大小,如果False则最大最小化按钮无效,边界也会失去调整功能。
  62. frame.setState(JFrame.MAXIMIZED);  //改变状态,让窗口最大化,MAXIMIZED是JFrame的静态属性,最小化是JFrame.ICONIFIED,正常化JFrame.NORMAL
  63. frame.setDragDirectly(true);  //让窗口直接拖动,而不是默认的那种只显示一个框的效果。
  64. frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);  // 把默认的关闭行为改成隐藏,点击关闭后只隐藏窗口
  65. frame.closeReleased();  // 尝试关闭窗口,调用默认的关闭方法,也可以通过setDefaultCloseOperation指定想要的关闭函数。
  66. (二) JFrame的事件
  67. JFrame最大最小化、恢复正常都会发出相应的事件,某些状态改变也会发出事件。
  68. 这些事件是 FrameEvent 这个类的静态属性。FrameEvent 属于 org.aswing.event.FrameEvent ,使用前要先import。 状态事件则是InteractiveEvent.STATE_CHANGED。
  69. 例如监听JFrame的最大化事件语句:
  70. frame.addEventListener(FrameEvent.FRAME_MAXIMIZED,__onWinMaxDoSomething);
  71. 其他相应的事件是:
  72. FrameEvent.FRAME_MAXIMIZED 最大化
  73. FrameEvent.FRAME_RESTORED 恢复
  74. FrameEvent.FRAME_ICONIFIED 最小化
  75. FrameEvent.FRAME_CLOSING 关闭事件
  76. */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值