java中事件处理机制

来源:互联网 发布:外国人 知乎 编辑:程序博客网 时间:2024/04/30 20:22

/*
 * 讲解事件处理机制
 */package com.test;
import java.awt.*;
import javax.swing.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class demo1 extends JFrame implements ActionListener{
 //定义一个panel
 Panel mp=null;
 JButton jb1=null;
 JButton jb2=null;
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  demo1 demo1=new demo1();
 }
 public demo1(){
  mp=new Panel();
  jb1=new JButton("黑色");
  jb2=new JButton("红色");
  
  this.add(jb1,BorderLayout.NORTH);
  mp.setBackground(Color.black);
  this.add(mp);
  this.add(jb2,BorderLayout.SOUTH);
  cat cat=new cat();
  //注册监听。。
  jb1.addActionListener(cat);
  jb2.addActionListener(cat);
  jb1.addActionListener(this);
  //指定action命令
  jb1.setActionCommand("aa");
  jb2.addActionListener(this);
  
  jb2.setActionCommand("bb");
  this.setSize(200,150);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setVisible(true);
 }
 //对事件处理的方法
 public void actionPerformed(ActionEvent e) {
  // TODO Auto-generated method stub
  
  if(e.getActionCommand().equals("aa")){
   mp.setBackground(Color.black);
   System.out.println("我是狗你点击的是黑色");
  }else{
   System.out.println("我是狗你点击的是红色");
   mp.setBackground(Color.red);
  }
 }
}
//多人员同时监听要是想多点的话可以自己添加
class cat implements ActionListener{

 public void actionPerformed(ActionEvent arg0) {
  // TODO Auto-generated method stub
  if(arg0.getActionCommand().equals("aa")){
   System.out.println("我是猫我知道你点击的是黑色 ");
   
  }else{
   System.out.println("我是猫我知道你点击的是红色 ");
  }
 }
 
 
}

原创粉丝点击