`
春之竹
  • 浏览: 23833 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

如何实现监听

阅读更多
监听器有多种种方法实现
在这里例举三种
一是内部类实现,一是通过调用方法实现,还有就是匿名内部类。
MouseAdapt是抽象方法他继承了以下接口:MouseMotionListener,MouseListener,  MouseWheelListener, EventListener
并实现了他们的方法,但并没有写方法体


[b][/b]内部类实现[/color]MouseAdapt是一个抽象类(抽象类的继承用extends),类中的方法都是没有写具体方法的,我们只需要重写需要的方法就可以了
jf.addMouseListener(new java.awt.event.MouseAdapt(){
      public void mousePressed(MouseEvent e){
    x1=e.getX();
    y1=e.getY();
   
    }
//鼠标放开获得第二点的位置
  public void mouseReleased(MouseEvent e){
    x2=e.getX();
    y2=e.getY();
    g.drawLine(x1, y1, x2, y2);//g是界面的画布对象
    }
});



通过调用方法实现
首先因为MouseAdapt是一个抽象类,他不能够创建对象,所以我们要写一个类来implements MouseAdap以方便来创建对象

public class Drawlistener extends MouseAdapt{
因为要初始化对象g的private java.awt.Graphics属性值所以要写一个构造函数
private java.awt.Graphics g=null;
public Drawlistener(java.awt.Graphics g){
this.g=g;

   public void mousePressed(MouseEvent e){
    x1=e.getX();
    y1=e.getY();
   
    }
//鼠标放开获得第二点的位置
  public void mouseReleased(MouseEvent e){
    x2=e.getX();
    y2=e.getY();
    g.drawLine(x1, y1, x2, y2);
    }

}



通过匿名内部类实现
首先创建一个监听器对象
java.awt.event.ActionListener al=new java.awt.event.ActionListener(){
//这是接口中必须实现的方法
public void actionPerformed(ActionEvent e){
方法体
}

};
以上就是匿名内部类实现监听器的基本格式,一定要注意区别以上三种方法






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics