黑马程序员——GUI的部分总结

---------------------- android培训 java培训 、期待与您交流! ----------------------

            今天的知识有很多地方不太明白,代码是毕老师打过之后,我根据他的思路再重新自己写一次,原理很多懂了,但是具体的知识点还是不懂。网上重新又查找了一些资料,写了个总结。有不对的地方,欢迎指正。   

          AWT(Abstract Windowing Toolkit),抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具,AWTJava中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类被称为组件(components)。他需要调用本地系统方法实现功能,对平台的依赖性比较大。

       SWING解决了AWT的很多缺点。相对于AWT, Swing是轻量级元件,用纯Java写成,所以同Java本身一样可以跨平台运行。开发一般用SWING

        GUI使用另外一个线程控制,只要开启图形界面,就会多一个线程。

        图形化界面仅仅是和用户交互的一种方式,更为直观的方式。,具体的操作细节,就跟以前写代码是一样的,底层没变化,只是操作变化了。

创建图像化界面:

     1  .创建一个Frame窗体

    Frame f = newFrame("名字");

    2.多窗体进行基本的设置:

        比如大小,位置,布局

     3.定义组件

     4.将组建通过窗体的add方法添加到窗体中

      5.让窗体显示,通过setVisiable(true)的方式;

事件监听机制:

      1.事件源:产出事件的组件。

      2. 监听器:对组件所产生的事件作出具体响应的代吗,即事件产出与处理分别由两个不同类加以编程实现。

      3.事件处理机制:AWT组件自身不编程处理相应的事件,面是交由事件监听器,它可以是组件所在的容器类或另外的Java程序类,只要它们实现了相关的事件监听器接口即可处理。

      4. 事件处理的包:java.awt.event包,它提供AWT事件所需的类和接口。

ActionEvent类对应ActionListener接口;他没有Adapter

      WindonEvent类对应WindonListener接口,即发生了XXXEvent类型的事件,那么处理该事件的接口为XXXListener;它们的父类为EventObject类。

       事件处理的类代码要对某一类事件加以处理,则应实现它们所对应的接口,并且给出该接口中定义的全部事件响应函数的功能实现(重写其函数体);然后在创建组件时注册该事件的监听器。

            事件注册:事件源通过对特定的事件进行注册,以指定该事件的监听器是谁。

事件编程步骤:

      1.实现某一事件的监听器接口。

      2 .在事件处理类中重写(实现)其事件处理的函数体。

      3.在创建AWT组件时注册事件处理代码以指定该事件的监听器是谁。

举例子如下:

class FrameDemo

{

      先定义该图形中所需组建的引用

      private Frame f;

      private Button but;

      FrameDemo()

      {

           init();哥们一初始化,就立刻有图像化界面,并具有一些基本的信息

      }

      public void init()

      {

           f = new Frame("my frame");

           Frame进行基本设置

           f.setBounds(300,200,750,500);分别是坐标xy和长和宽

           f.setLayout(new FlowLayout());新建立一个布局,流式模式网格模式南北模式等

           建立组件

           but = newButton("mybutton");

           将组件添加到Frame当中

           f.add(but);

           加载窗体事件调用myEvent方法

           myEvent();    

           显示窗体

           f.setVisible(true);

           这里边不要写事件。要把事件和图形化界面分离出来

      }

      要确定:事件源,事件,监听器,确认要操作的是谁。

      private void myEvent()

      {

           f.addWindowListener(newWindowAdapter()在事件源中注册监听器。里边传一个具体的监听器对象可以用匿名内部类完成

           {

                 public voidwindowClosing(WindowEvent e)

                 {

                      System.exit(0);

                 }

           });

 

           but.addActionListener(newActionListener()

           {

                 public voidactionPerformed(ActionEvent e)这传谁?你添加的是窗口监听,返回来的是不是窗口事件?

                 那么你添加的是活动监听,返回来的是不是活动事件?这就是规律。

                 {

                      System.exit(0);

                 }

           });

      }

 

      public static void main(String[] args)

      {

           new FrameDemo();建议一个对象就OK

      }

}

      好了先这么多吧,有不对的地方,欢迎指正。

---------------------- android培训 java培训 、期待与您交流! ----------------------
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值