A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

------- <a  target="blank">android培训</a>、<a  target="blank">java培训</a>、期待与您交流! ----------
现在总结的是图形化界面的知识,当然仅仅局限于AWT中的.别的我想总结也要总结得出来才行嘛.呵呵!关于AWT的内容的总结
主要包括以下的几个部分:
1.AWT的体系结构
2.AWT中的布局
3.AWT中的事件监听机制

第一点AWT体系结构

还是老规矩,先从体系结构开始.在AWT中把所有与图形化有关的东西都称之为组件.然后把这些组件按照一定的方式组合起来就
形成我们所看到的图形界面.所以组件就是AWT体系中的老大了,下面是一个简化了的体系:

Component(组件)
                不可以添加其它组件的
                        Button(按钮)
                        Canvas(画布)
                        Checkbox(复选框)
                        Choice(选择框)
                        Label(文本标签)
                        List(列表框)
                        Scrollbar(滚动条)
                        TextComponent(文本组件)
                                                TextArea(文本区)
                                                TextField(文本框)
                可以添加其它组件的,它们都是 Container(容器)        体系下的
                         Container(容器)                       
                                                Panel(面板)
                                                Window(窗体)
                                                                        Dialog(对话框)
                                                                                                FileDialog(文件对话框)
                                                                        Frame(窗体框架)

我上面所列出来的只是一个比较简单化的体系,还有分隔组件,单元格渲染呀什么的没有弄出来,只是要确定一个图形化界面编程的概念.
当然了,另一个原因是毕老师所讲的只是这些内容,更复杂的Swing则全部过滤了,

对于不可以添加其它组件的组件就不用说了吧,我们创建AWT图形化界面的时候通常选择的时Frame,因为它足够子类,这也就意味着它
的方法足够多.而Panel面板呢,通常用作框架中,把图形框架分成多个面板.


第二点AWT中的布局

在JAVA所提供的图形化界面开发中,是通过布局的方式来确定每一个组件在窗体中的位置的,然而尽管它提供了
相当多相当复杂的布局方式.但是在实际应用的时候难免会显得比较死板.所以如果不嫌麻烦的话可以把布局设置为空,然后手动的为每
一个框架中的组件指定位置,但是这个过程很痛苦.
布局作为一种格式,在JAVA中也是被封装成了对象的,对于它的体系结构就不用仔细的研究了吧,但是大体的还是应该知道.它是由这个接口
开始的:
LayoutManager(布局管理):它定义了如何布置组件类的抽象方法,包括计算组件的大小,是否重叠.怎样排放,移除组件等.实现了它的子类
相当的多,看得我都是头痛,在用的时候随便找一个来试试吧,不满意咱就换..毕竟咱不是搞界面设计的嘛.


第三点:事件监听机制.

经过了前面的两个阶段的学习,第一个阶段,确定窗体中的组件,第二个阶段,对这些组件进行布局,那么我们就可以(画)出一个确定的图形化界面
了.光有这一个界面不对给个组件上的操作作出响应是不够了,只能画出一个死的界面,所以就需要对界面中的操作进行处理,在JAVA中,对操作
进行处理是采用的事件监听机制.所谓的消息机制就是在某一个组件上面增加一个事件监控,当有所监控到的操作发生时,就调用为这个事件所编写
的代码.
由上面对消息机制的解释我们很容易就知道了要实现消息机制的几个必要条件,
1.确定要监控的组件.
2.确定要监控的事件.
3.把要监控的事件注册到要监控的组件上.
4.编写当监控到事件以后要执行的代码.

现在分别说明,
第一步: 确定要监控的组件.这一步需要确定我是要监控按钮呢还是窗口呢或者别的所有的Component对象的子类.
第二步:确定要监控的事件.在JAVA中事件是一种事件,所以也是被封装成了对象的,而每一个组件所能监控的事件都在其方法上找得到.所以
                         当确定了组件以后,直接去查看该组件或者它父类的方法,就能够知道它能监控哪些事件,关对其进行选择.
第三步:把要监控的事件注册到要监控的组件上.这一步通过前面的查找以后只需要调用组件的对应的添加监控事件的方法就可以了.
第四步:编写当监控到事件以后要执行的代码.这一步呢,由于事件都被封装成了对象,而这些对象的方法的实现是不具体的,所以在JAVA中
                         就把它们定义成了接口,所以在注册监控事件的时候,就必须为其传入一个实现它的子类,这个子类中的方法就是我们所要实现的
                         代码的地方了,而由于一些接口方法会比较多,如果我只处理事件中的子事件,则还是要覆写它所有的方法,这样对于编写程序就会
                         很麻烦,所以当一个接口中的方法不只一个的时候,都会提供一个适配器(用空函数体实现的抽象类),让我们只需要覆写其中要处理
                         的方法就可以了.

对于JAVA中的事件监听机制中的事件,也是一个比较庞大的体系,而我们在往组件上添加事件监听的时候可以直接查找组件中的添加事件监听
的方法,所以我个人认为不必很仔细的去阅读它,这里就不写了,

好了,图形界面DUI的总结暂时就这些了,

评分

参与人数 1黑马币 +6 收起 理由
黄锦成 + 6 神马都是浮云

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马