java Swing:实现事件监听的三种方式

import java.awt.event.*;

import javax.swing.*;

//方法一:实现MouseListener接口

优点:使用方便,可以同时继承其他接口

缺点:对不需要处理的事件方法也要列出来
/*
public class eventHanld implements MouseListener{

 JFrame f;
 public eventHanld()
 {
  f=new JFrame();
  f.setSize(300,500);
  f.show();
  f.addMouseListener(this);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
 }
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
             new eventHanld();
 }
 @Override
 public void mouseClicked(MouseEvent arg0) {
  // TODO Auto-generated method stub
  f.setTitle("点击坐标为 ( "+arg0.getX()+","+arg0.getY()+" )");
 }
 @Override
 public void mouseEntered(MouseEvent arg0) {
  // TODO Auto-generated method stub
 
 }
 @Override
 public void mouseExited(MouseEvent arg0) {
  // TODO Auto-generated method stub
 
 }
 @Override
 public void mousePressed(MouseEvent arg0) {
  // TODO Auto-generated method stub
 
 }
 @Override
 public void mouseReleased(MouseEvent arg0) {
  // TODO Auto-generated method stub
 
 }
 
}
*/

//方法二:继承MouseAdapter类

优点:使用方便,只需对有用的事件方法进行重写即可

缺点:不能再继承其他类(JAVA的单一继承机制)
/*public class eventHanld extends MouseAdapter
{
      JFrame f;
      public eventHanld()
   {
    f=new JFrame();
    f.setSize(300,150);
    f.show();
    f.addMouseListener(this);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }
      public void mouseClicked(MouseEvent arg0)
      {
       f.setTitle("点击坐标为 ( "+arg0.getX()+","+arg0.getY()+" )");
      }
  
   public static void main(String[] args) {
    // TODO Auto-generated method stub
               new eventHanld();
   }
}
*/

//方法三:使用匿名内部类

优点:无需继承类和接口


public class eventHanld
{
      JFrame f;
      public eventHanld()
   {
    f=new JFrame();
    f.setSize(300,150);
    f.show();
    f.addMouseListener(new MouseAdapter()
                         {public void mouseClicked(MouseEvent arg0)
                         {
                          f.setTitle("点击坐标为 ( "+arg0.getX()+","+arg0.getY()+" )");
                         }});
                        
    f.addWindowListener(new WindowAdapter()
                        {
                       public void windowClosing(WindowEvent arg0)
                       {System.exit(0);}
                        });
   }//evenhald
      public static void main(String[] args) {
      // TODO Auto-generated method stub
                 new eventHanld();
     }
}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/smartken0824/archive/2008/11/12/3278009.aspx

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值