java GUI



1.AwtSwing
    *Awt包需要调用贝蒂系统方法实现功能,属于重量级空控件。
    *Swing是在Awt的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由java实现。
    增强了移植性,属于轻量级控件。
2.继承关系图:
Component:一个具有图形表示功能的对象。
    |--Container:为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。
        |--Window:窗口
            |--Frame:框架
            |--Dialog:对话框
                |--FileDialog:文件对话框,用于操作文件的对话框。
        |--Panel:面板
    |--Button:按钮,最常用组件
    |--Label:标签,用于组件封装文字
    |--Checkbox:复选框
    |--TextComponent:文本组件
        |--TextArea:文本区域
        |--TextField:文本框
3.常见的布局管理器:
    FlowLayout(流式布局管理器):从左到右的顺序排列,Panel默认的布局管理器。
    BorderLayout(边界布局管理器):东、南、西、北、中。Frame默认的布局管理器。
    GridLayout(网格布局管理器):规则的矩阵
    CardLayout(卡片式布局管理器):选项卡
    GridBagLayout(网格包布局管理器):非矩阵的矩阵
4.事件监听机制的特点:
    *事件源:就是awt包或者swing包中的那些图形界面组件。
    *事件:每一个事件源都有自己特有的对应事件和共性事件。
    *监听器:将可以出发某一个事件的动作(不只一个动作)都已经封装到了监听器重。
    *事件处理:按照自定义的方式对发生的事件处理。
    *添加监听器的一般方法
    addXXXListener(XXX 对象):每添加一个事件监听器,都需要接受一个事件对象,
    并在事件对象中实现对该事件的处理方法。或者匿名内部类,或者重新定义一个类
    //捕捉鼠标双击事件
    public void mouseClicked(MouseEvent e){
        if(e.getClickCount()==2)
            System.out.println("双击动作"+clickCount++);
    }
    //捕捉键盘事件,给Button类的对象but添加一个键盘监听器,如下
    but.addKeyListener(new KeyAdapter(){
        public void keyPressed(KeyEvent e){
            //获取ctrl+enter组合键。
            if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
                System.out.println("ctrl+enter is run");
            //KeyEvent.getKeyText(e.getKeyCode()):按照键的code值获取相应键的字符串表示。
            System.out.println(KeyEvent.getKeyText(e.getKeyCode())+".."+e.getKeyCode());
        }
    }); 
    //阻止非法字符录入,在TextField对象tf中添加事件监听器
    tf.addKeyListener(new KeyAdapter(){
        public void keyPressed(KeyEvent e){
            int code = e.getKeyCode();
            if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9)){
                System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"...是非法的");
                e.consume();//取消当前键值的录入。
            }
        }
    });
    *Frame:常用方法
    setSize(high,wide):设置窗口大小。
    setVisible(boolean):设置窗口是否可见。
    setLocation(坐标):设置窗口初始位置。
5.Dialog:对于错误信息的处理,弹出对话框
    //参数:Frame f:设置对话框所属的窗体;title:对话框的标题;visible:判断对话框是否可见
    Dialog d = new Dialog(Frame f,String titleboolean visible);
    Label l = new Label();//利用label对象封装文字添加到弹出的对话框中
    *装饰效果:
    按照窗体的布局效果对弹出的对话框进行属性设置。
6.菜单的设置:
    *设置菜单用到的类:MenuBar,Menu,MenuItem;
    *三者关系描述:Menu extends MenuItem,Menu add(MenuItem);
    Menu 继承自MenuItem,并且Menu可以添加MenuItem对象。
    Menu 对象可以被设置成子菜单,MenuItem只能设置为菜单下的条目(选项或称为菜单项)
    想要在窗体中添加菜单就得先添加MenuBar(菜单条),然后将菜单Menu添加到菜单条中。
7.FileDialog:文件对话框
    FileDialog(Dialog parent, String title, int mode) 
    创建一个具有指定标题的文件对话框窗口,用于加载或保存文件。
    对于是加载还是保存,则要看mode参数的设置了。FileDialog.LOADFileDialog.SAVE
    其中对文件的操作要用到IO流对象。
    *对于文件的保存:
    如果文件已经存在,则修改后保存,不弹出文件对话框。
    如果文件不存在,则弹出文件对话框,并保存。
    *保存文件概述:
    保存文件分为两种:一种是刚打开的文件,修改后再保存,这种就不需要弹出对话框,并且在打开文件的时候,
    可以获取到文件的对象,把文件的对象设置为成员,至于是否弹出对话框,则要判断文件对象是否为null
    若为null,则需要弹出对话框并指定文件名。若不为null,则直接将修改后的文件保存到原有文件即可。
    第二种是新写的文件内容,还没有保存的。这样的文件保存时就需要弹出对话框并指定名称了。当然判断条件
    同样是文件对象是否为null

    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值