`
茶杯里的台风
  • 浏览: 12477 次
  • 性别: Icon_minigender_2
文章分类
社区版块
存档分类
最新评论

事件机制

 
阅读更多

20130630    事件机制

1.接口

1.1关键字     interface

1.2格式:
     public interface 接口名 extends 接口名,... {
           //可以定义常量
           public static final 数据类型 常量名  = 值;
           //定义抽象方法
            public 返回值数据类型 方法名(数据类型 参数名,...);
        }

注意:1.接口中默认的访问修饰符就是public。
           2.接口中常量名的每一个字母都必须要大写。(常量直接通过接口名进行调用:接口名.常量名)
           3.接口可以继承接口,而且可以同时继承多个接口
           4.接口是不能实例化对象的。

2.接口的实现

2.1关键字    implements

2.2格式       

   格式:
   public class 类名 (extends 类或者抽象类)  implements 接口名,... {
   //类必须要实现(重写)接口中所有的抽象方法
   }

2.3类实现接口后的特别之处:

     1.接口也是一种类,只是比较特殊
     2.类实现(继承)接口后,那么类必须要实现接口中所有的抽象方法。
     3.类继承接口后,拥有类继承类的所有特性。

3.抽象类

3.1关键字     abstract    class

3.2格式

格式:
 public abstract class 抽象类名 extends 类或者抽象类 implements 接口名,... {
  //类中可以定义的内容,抽象类都可以定义
  //接口中能定义的内容,抽象类还是可以定义。
  public abstract 返回值数据类型 方法名(数据类型 参数名,...);

       }

4.事件机制

4.1事件源

     动作发生的图形界面内的组件都可以称作事件源

4.2监听器

     监听在事件源上是否有相应的动作发生,如果有相应的动作发生,事件监听器就会被激活,处理相应的事件处理类的对象

4.3事件处理类

     添加在事件源上的监听器被激活后,要执行的具体的操作

 

这节课的主要内容是事件机制。事件机制在以后的运用中,应该会很多。事件与事件之间要有一定的联系,才能组成一个完整的体系。单个事件的存在是没有太大的意义的。

以下是在窗体上添加监听器,在监听器激活的情况下,通过鼠标的拖动来画小球的代码:

代码1:

package dyh20130705;

import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

//定义事件处理类的对象,来实现接口MouseMotionListener
public class moveListener implements MouseMotionListener{
	
	private Graphics g;
	private int x;
	private int y;
	public moveListener(Graphics g){
		this.g=g;
	}
	
	public void mouseDragged(MouseEvent e) {
		x=e.getX();
		y=e.getY();
		g.drawOval(x, y, 10, 10);
	}
	public void mouseMoved(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}

}

 代码2:

package dyh20130705;

import java.awt.Graphics;
import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;

//定义一个简单画板的类,该类继承自JFrame
public class DrawMoveBall extends JFrame{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public static void main(String[] args) {
		//实例化一个 窗体的类
		DrawMoveBall dmb=new DrawMoveBall();
		//调用界面初始化方法
		dmb.initGUI();

	}
    //定义界面初始化的方法
	public void initGUI(){
		//定义窗体的属性
		this.setTitle("移动小球");
		this.setLocation(300,150);
		this.setSize(500, 500);
		this.setResizable(true);
		this.setDefaultCloseOperation(3);
		
		this.setVisible(true);
		
		//窗体可见之后,在窗体上添加画布对象
		Graphics g=this.getGraphics();
		//实例化事件处理类的对象
		MouseMotionListener ml=new moveListener(g);
		//给事件源添加事件监听方法
		this.addMouseMotionListener(ml);
		
	}
}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics