AsWing中JFrame的简单应用

AsWing中JFrame的简单应用


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

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

 

package   
{ 
    
    import flash.display.Sprite; 
    import org.aswing.JComboBox; 
    import org.aswing.JTextArea; 
    import org.aswing.UIManager; 
    import org.aswing.ppzhao.PPZhaoFrameIcon; 
    import org.aswing.ppzhao.PPZhaoLAF; 
    import org.aswing.AsWingManager; 
    import org.aswing.BorderLayout; 
    import org.aswing.Container; 
    import org.aswing.FlowLayout; 
    import org.aswing.JFrame; 
    import org.aswing.JPanel; 
    /** 
    * ... 
    * @author DefaultUser (Tools -> Custom Arguments...) 
    */ 
    public class ChatFrame extends Sprite 
    { 
        public var f:JFrame; 
        public var p:JTextArea; 
        public function ChatFrame() 
        { 
        UIManager.setLookAndFeel(new PPZhaoLAF()); 
        super(); 
        AsWingManager.initAsStandard(f); 
        init(); 
        } 
     
        private function init():void { 
            //布局模式BorderLayout 
            f = new JFrame(this, "聊天框"); 
            f.setSizeWH(540, 400); 
            var c:Container = f.getContentPane(); 
            p = new JTextArea(); 
            c.append(p, BorderLayout.CENTER); 
            var buttonPanel:JPanel = new JPanel(new FlowLayout());           
            var undoBtn:JComboBox = new JComboBox(); 
            var a:Array = [10,20,30]; 
            undoBtn.setListData(a); 
            undoBtn.setEditable(true); 
            c.append(undoBtn, BorderLayout.SOUTH); 
            f.show(); 
            f.setClosable(false); 
             
        }

         
    } 
     
} 

 

 //以下为JFrame的常用属性:
/*


(一) JFrame 的常用设置

frame.setIcon(null); // 把图标设为空的,也可以把null改为其他自定义的Icon
frame.setTitle("Hello!"); //更改新的标题文字
frame.setSizeWH(300,200); //设置新的大小 宽和高
frame.setLocationXY(80,50); //设置坐标X,Y
frame.setClosable(true); //设置窗口是否能够关闭,如果取值False 则关闭图标不显示。
frame.setResizable(true); //设置窗口是否能够调整大小,如果False则最大最小化按钮无效,边界也会失去调整功能。
frame.setState(JFrame.MAXIMIZED); //改变状态,让窗口最大化,MAXIMIZED是JFrame的静态属性,最小化是JFrame.ICONIFIED,正常化JFrame.NORMAL
frame.setDragDirectly(true); //让窗口直接拖动,而不是默认的那种只显示一个框的效果。
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); // 把默认的关闭行为改成隐藏,点击关闭后只隐藏窗口
frame.closeReleased(); // 尝试关闭窗口,调用默认的关闭方法,也可以通过setDefaultCloseOperation指定想要的关闭函数。


(二) JFrame的事件
JFrame最大最小化、恢复正常都会发出相应的事件,某些状态改变也会发出事件。
这些事件是 FrameEvent 这个类的静态属性。FrameEvent 属于 org.aswing.event.FrameEvent ,使用前要先import。 状态事件则是InteractiveEvent.STATE_CHANGED。
例如监听JFrame的最大化事件语句:
frame.addEventListener(FrameEvent.FRAME_MAXIMIZED,__onWinMaxDoSomething);
其他相应的事件是:
FrameEvent.FRAME_MAXIMIZED 最大化
FrameEvent.FRAME_RESTORED 恢复
FrameEvent.FRAME_ICONIFIED 最小化
FrameEvent.FRAME_CLOSING 关闭事件
*/

你可能感兴趣的:(C++,c,C#,F#,Flash)